使用jQuery,我以编程方式生成了一堆div,就像这样:

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

在代码的其他地方,我需要检测这些div是否存在。div的类名是相同的,但ID为每个div的变化。任何想法如何检测他们使用jQuery?


当前回答

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

其他回答

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

这里有一些方法:

1.  if($("div").hasClass("mydivclass")){
    //Your code

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

2. if($("#myid1").hasClass("mydivclass")){
    //Your code


    //  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){
    //Your code

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

我们可以根据需要使用任何一种abobe定义的方法。

你可以通过检查JQuery返回的第一个对象来简化它:

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

在这种情况下,如果第一个([0])索引处有一个真值,则假设类存在。

编辑04/10/2013:我在这里创建了一个jsperf测试用例。

要显式地测试div元素:

如果($ (' div.mydivclass”)。长度){…}

简单代码如下:

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

使用特殊id隐藏div:

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