javascript - जांचें कि कुछ वर्ग नाम के साथ div मौजूद है या नहीं




jquery jquery-selectors (10)

JQuery के बिना:

मूल जावास्क्रिप्ट हमेशा तेज होने जा रहा है। इस मामले में: (example)

if (document.querySelector('.mydivclass') !== null) {
    // .. it exists
}

यदि आप यह देखने के लिए जांचना चाहते हैं कि किसी मूल तत्व में किसी विशिष्ट तत्व के साथ कोई अन्य तत्व है, तो आप निम्न में से किसी एक का उपयोग कर सकते हैं। (example)

var parent = document.querySelector('.parent');

if (parent.querySelector('.child') !== null) {
    // .. it exists as a child
}

वैकल्पिक रूप से, आप मूल तत्व पर .contains() विधि का उपयोग कर सकते हैं। (example)

var parent = document.querySelector('.parent'),
    child = document.querySelector('.child');

if (parent.contains(child)) {
    // .. it exists as a child
}

..और आखिरकार, यदि आप यह देखने के लिए जांचना चाहते हैं कि किसी दिए गए तत्व में केवल एक निश्चित वर्ग है, तो इसका उपयोग करें:

if (el.classList.contains(className)) {
    // .. el contains the class
}

JQuery का उपयोग करके मैं प्रोग्रामेटिक रूप से div की एक गुच्छा उत्पन्न कर रहा हूं:

<div class="mydivclass" id="myid1">Some Text1</div>
<div class="mydivclass" id="myid2">Some Text2</div>

मेरे कोड में कहीं और मुझे यह पता लगाने की आवश्यकता है कि क्या इन डीआईवी मौजूद हैं। Divs के लिए वर्ग का नाम वही है लेकिन प्रत्येक div के लिए आईडी बदलती है। JQuery का उपयोग कर उन्हें पहचानने का कोई विचार है?


JQuery से लौटाई गई पहली ऑब्जेक्ट को चेक करके आप इसे सरल बना सकते हैं:

if ($(".mydivclass")[0]){
    // Do something if class exists
} else {
    // Do something if class does not exist
}

इस मामले में यदि पहले ( [0] ) इंडेक्स पर एक सच्चा मूल्य है, तो मान लें कि वर्ग मौजूद है।

04/10/2013 संपादित करें: मैंने here एक जेएसपीआरएफ परीक्षण केस बनाया here


आप size() उपयोग कर सकते हैं, लेकिन jQuery आपको किसी अन्य फ़ंक्शन कॉल के ओवरहेड से बचने के लिए लंबाई का उपयोग करने की सलाह देता है:

$('div.mydivclass').length

इसलिए:

// since length is zero, it evaluates to false
if ($('div.mydivclass').length) {

http://api.jquery.com/size/

http://api.jquery.com/length/

अद्यतन करें

चयनित उत्तर एक पर्फ परीक्षण का उपयोग करता है, लेकिन यह थोड़ा दोषपूर्ण है क्योंकि इसमें परफ के हिस्से के रूप में तत्व चयन भी शामिल है, जो कि यहां परीक्षण नहीं किया जा रहा है। यहां एक अद्यतन perf परीक्षण है:

http://jsperf.com/check-if-div-exists/3

परीक्षण का मेरा पहला भाग दिखाता है कि संपत्ति पुनर्प्राप्ति सूचकांक पुनर्प्राप्ति से तेज है, हालांकि आईएमओ यह काफी नगण्य है। मैं अभी भी मेरे लिए लंबाई का उपयोग करना पसंद करता हूं, यह एक और अधिक स्थिति की बजाय कोड के इरादे के रूप में अधिक समझ में आता है।


जांच करें कि div एक निश्चित वर्ग के साथ मौजूद है या नहीं

if ($(".mydivclass").length > 0) //it exists 
{

}

यह काफी सरल है ...

if ($('.mydivclass').length > 0) {
  //do something
}

सरल कोड नीचे दिया गया है:

if ($('.mydivclass').length > 0) {
   //Things to do if class exist
}

कण आईडी के साथ div को छिपाने के लिए:

if ($('#'+given_id+'.mydivclass').length > 0) {
   //Things to do if class exist
}

कुछ वर्ग नाम के साथ div के अस्तित्व की जांच करने के कई तरीके हैं। नीचे कुछ उपयोगी तरीके हैं:

1.  if($("div").hasClass("mydivclass")){//Do any thing}

   // It returns true if any div has 'mydivclass' name. It is a based on the class name

2. if($("#myid1").hasClass("mydivclass")){//Do any thing}

   //  It returns true if specific div(myid1) has this class "mydivclass" name. 
   //  It is a  based on the specific div id's.

3. if($("div[class='mydivclass']").length > 0){//Do any thing}

   // It returns all the divs whose class name is "mydivclass"
  //  and it's length would be greater than one.

हम आवश्यकता के आधार पर किसी भी परिभाषित तरीके से परिभाषित तरीकों का उपयोग कर सकते हैं।


$('div').hasClass('mydivclass')// Returns true if the class exist.

if($(".myClass")[0] != undefined){
  // it exists
}else{
  // does not exist
}

var x = document.getElementsByClassName("class name");
if (x[0]) {
alert('has');
} else {
alert('no has');
}






javascript-framework