您好我的HTML看起来像这样:
<ul class="first">
<li>
<div class="tg-hey">hey</div>
<div class="tg-hi">hi</div>
<div class="tg-hoi">hoi</div>
</li>
</ul>
<ul class="second">
<li>
<div class="tg-hey">hey</div>
<div class="tg-hi">hi</div>
<div class="tg-hoi">hoi</div>
</li>
</ul>
<ul class="third">
<li>
<div class="tg-hey">hey</div>
<div class="tg-hi">hi</div>
<div class="tg-hoi">hoi</div>
</li>
</ul>
我需要的是找到(例如在<ul class="second">
中)<div class="tg-hey">
是否存在。
我该怎么检查呢?
答案 0 :(得分:5)
if($(".second:has(.tg-hey)").length) {
// do something
}
如果你需要对匹配的元素做某事,你真的不需要先测试,因为如果没有匹配就不会发生任何事情,所以:
$(".second:has(.tg-hey)").hide();
非常安全。
另一种方法是使用.is
和:has
:
if($(".second").is(":has(.tg-hey)")) {
// do something
}
但我不会这样做,因为它看起来像是一个相当简单的任务的jQuery太多了。
答案 1 :(得分:4)
只需创建选择器并检查结果的长度(如果为0则为false,否则为真):
if ($('ul.second div.tg-hey').length) {
alert("It exists");
}
答案 2 :(得分:2)
$(".second").has(".tg-hey").length > 0
答案 3 :(得分:1)
喜欢这个吗?
if ($('ul.second div.tg-hey').length > 0)
// exists
else
// doesn't
答案 4 :(得分:0)
$('.className').length
如果$('.className').length == 0
,则该元素不存在。
修改:
$('.second').length
将告诉您有多少元素具有“第二”类。
$('.second .tg-hey').length
会告诉你有多少元素在“第二”类中有“tg-hey”类。
这假设您正在使用jQuery!