জাভাস্ক্রিপ্ট সহ <html> এ ক্লাস যুক্ত করবেন?


88

<html>জাভাস্ক্রিপ্ট ব্যবহার করে আপনি কীভাবে মূল উপাদানটিতে একটি শ্রেণি যুক্ত করবেন ?


আমি যখন জিজ্ঞাসা করি তখন এটি আমি জিজ্ঞাসা করেছি। আমি উল্লেখ করেছিলাম এমন কোনও ভাল জায়গা আমি কখনই পাইনি। আমি এখানে এটি দেখে খুশি।
— Pow-Ian

শুধু কৌতূহলী - আপনি এটি করতে চান কেন?
— ডেভিড হোয়ারস্টার

@ ডেভিড মডার্নিজার লোড না হলে ফ্যালব্যাক যুক্ত করতে To মডার্নিজার "js" শ্রেণিটি যুক্ত করে যখন এটি লোড হয়।
— ব্র্যান্ডন লেবেদেভ

4
আপনি যদি আধুনিকীকরণ ব্যবহার করে থাকেন তবে আপনার মার্কআপটিতে "নো-জেএস" শ্রেণিটি সত্যই যুক্ত করা উচিত। (মডার্নিজার যদি বোঝায় এটি এই শ্রেণিটি সরিয়ে ফেলবে)
— কেভিন বাউচার

@ কেভিন - ইতিমধ্যে করেছেন। যান HTML5 এর boilerplate !
— ব্র্যান্ডন লেবেদেভ

উত্তর:


113

এটার মত:

var root = document.getElementsByTagName( 'html' )[0]; // '0' to assign the first (and only `HTML` tag)

root.setAttribute( 'class', 'myCssClass' );

অথবা পূর্বে প্রয়োগ হওয়া ক্লাসগুলি সংরক্ষণ করতে এটি আপনার 'সেটার' লাইন হিসাবে ব্যবহার করুন: (ধন্যবাদ @ আমা 2)

root.className += ' myCssClass';

বা, প্রয়োজনীয় ব্রাউজার সহায়তার উপর নির্ভর করে আপনি এই classList.add()পদ্ধতিটি ব্যবহার করতে পারেন :

root.classList.add('myCssClass');

https://developer.mozilla.org/en-US/docs/Web/API/Element/classList http://caniuse.com/#feat=classlist

হালনাগাদ:

HTMLউপাদানটি উল্লেখ করার জন্য আরও মার্জিত সমাধান এটি হতে পারে:

var root = document.documentElement;
root.className += ' myCssClass';
// ... or:
//  root.classList.add('myCssClass');
//

এফওয়াইআই, ক্লাসলিস্ট.অ্যাড / .রেভ ডকুমেন্ট.ডোকামেন্টএলমেন্টে কাজ করে না।
— অ্যান্ডি মার্সার

@ অ্যান্ডিমার্সার এটি classList.add(উটের ক্ষেত্রে)।
— কেভিন বাউচার

হ্যাঁ স্পষ্টতই এটি একটি টাইপ ছিল। তবে আমি যা বলেছি তা এখনও সঠিক। classListডকুমেন্ট.ডোকমেটলেমেন্টে কাজ করে না।
— অ্যান্ডি মার্সার

জবাব দেওয়ার আগে আমি এটি তিনটি পৃথক ব্রাউজারে চেষ্টা করেছি, সুতরাং এটি "স্পষ্টতই একটি টাইপো" ছিল না। (ক্রোম, ফায়ারফক্স, সাফারি - এই তিনটিতেই root.classList.add('myCssClass')কাজ করেছেন)) আপনি আইই ব্যবহার করছেন?
— কেভিন বাউচার

document.documentElement.classList.addএখানে ঠিকঠাক কাজ মনে হচ্ছে। 2018 এর ব্রাউজারগুলি কি এটি সমর্থন করা শুরু করেছে?
— অ্যাড্রিয়ান

15

এটিও কাজ করা উচিত:

document.documentElement.className = 'myClass';

সামঞ্জস্যতা ।

সম্পাদনা করুন:

আইই 10 এটি কেবল পঠনযোগ্য হিসাবে গণনা করে; এখনো:

এটা কাজ করেছে!?

অপেরা কাজ করে:

কাজ

এটি এতে কাজ করে তাও আমি নিশ্চিত করতে পারি:

  • ক্রোম 26
  • ফায়ারফক্স 19.02
  • সাফারি 5.1.7

আপনার উদাহরণটিতে U+200Bচূড়ান্ত অক্ষর রয়েছে, যথা চূড়ান্ত অ্যাস্ট্রোফির পরে, এটি ওয়েবপ্যাক এবং অন্যান্য সংকলকগুলিতে সংকলন ব্যর্থ করে দেয়!
— এন্টোজুন

@ এন্টোজুন কত অদ্ভুত! যে ইশারা জন্য ধন্যবাদ। আমি এখনই এটি ঠিক করে
— রেখেছি

11

আমি আপনাকে jQuery এ একবার দেখার পরামর্শ দিচ্ছি ।

jQuery উপায়:

$("html").addClass("myClass");

26
জাভাস্ক্রিপ্ট সহ কোনও উপাদান নির্বাচন করতে আপনার jQuery দরকার নেই।
— ডেভিড হোয়েস্টার

4
jQuery শেখা সহজতর, এবং এই দিনগুলিতে বেশিরভাগ সময় ব্যবহৃত হয়। তবে হ্যাঁ, এই কাজের জন্য আপনার এটির দরকার নেই;)
— এবারসোল্ড

4
হ্যাঁ, ঠিক আছে, আমরা জানি জেকোরি কী, তবে "শিখুন জ্যাকুয়ারি" দিয়ে খাঁটি জাভাস্ক্রিপ্ট প্রশ্নের উত্তর দেওয়া আমাকে অবাক করে দিয়েছে :)
— পোভিলাস্প

4
@ অয়েবারসোল্ড আমি সম্মত হই যে jQuery শিখতে এবং ব্যবহার করা সহজ, তবে ৫০ কে এ ডাউনলোড করতে (অতিরিক্ত অতিরিক্ত অনুরোধ) কেবল একটি শ্রেণি যুক্ত করার জন্য, এটি ওভারকিল আইএমএইচও এর কিছুটা অংশ।
— ডেভিড হোয়ারস্টার

জিকুয়েরিতে মৃত্যু! জয়ের জন্য ভ্যানিলা জেএস!
— ফ্রেশেবুল


7

আপনার ক্লাস যুক্ত করা উচিত এটি ওভাররাইট না করে

var headCSS = document.getElementsByTagName("html")[0].getAttribute("class") || "";
document.getElementsByTagName("html")[0].setAttribute("class",headCSS +"foo");

ব্রাউজারের অসুবিধাগুলি এড়াতে আমি এখনও jQuery ব্যবহার করার পরামর্শ দেব


-2

জ্যাকুরির সাথে ... আপনি এইচটিএমএল উপাদানগুলিতে ক্লাস যুক্ত করতে পারেন:

$(".divclass").find("p,h1,h2,h3,figure,span,a").addClass('nameclassorid');

নেমক্লোরসিড বিন্দু বা শুরুতে # নয়

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.