使用jQuery,我以编程方式生成了一堆div,就像这样:
<div class="mydivclass" id="myid1">Some Text1</div>
<div class="mydivclass" id="myid2">Some Text2</div>
在代码的其他地方,我需要检测这些div是否存在。div的类名是相同的,但ID为每个div的变化。任何想法如何检测他们使用jQuery?
使用jQuery,我以编程方式生成了一堆div,就像这样:
<div class="mydivclass" id="myid1">Some Text1</div>
<div class="mydivclass" id="myid2">Some Text2</div>
在代码的其他地方,我需要检测这些div是否存在。div的类名是相同的,但ID为每个div的变化。任何想法如何检测他们使用jQuery?
当前回答
这里是一个不使用Jquery的解决方案
var hasClass = element.classList.contains('class name to search');
// hasClass is boolean
if(hasClass === true)
{
// Class exists
}
参考链接
其他回答
最好的方法是检查类的长度如下所示:
if ($('.myDivClass').length) {
使用这个搜索整个页面
if($('*').hasClass('mydivclass')){
// Do Stuff
}
没有jQuery:
原生JavaScript总是更快。在这种情况下:(示例)
if (document.querySelector('.mydivclass') !== null) {
// .. it exists
}
如果希望检查父元素是否包含具有特定类的另一个元素,可以使用以下方法之一。(例子)
var parent = document.querySelector('.parent');
if (parent.querySelector('.child') !== null) {
// .. it exists as a child
}
或者,您可以在父元素上使用.contains()方法。(例子)
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
}
Javascript中最好的方法:
if (document.getElementsByClassName("search-box").length > 0) {
// do something
}
这里是一个不使用Jquery的解决方案
var hasClass = element.classList.contains('class name to search');
// hasClass is boolean
if(hasClass === true)
{
// Class exists
}
参考链接