我正在使用 jQuery 來實作以下目標:
- 對于每個具有相同 id 的 div,檢查該 div 是否有任何 li 元素。如果是,則添加一個特定的類。
下面的代碼僅適用于其中一個 div。我該怎么做才能回圈遍歷具有相同 id 的所有 div 實體。
$('#general-block').each(function() {
if ($('general-block:has(li)').length) {
$('general-block').addClass('testing-block');
}
});
// The class 'testing-block' should be added to the first two divs with the id 'general-block' as they have li elements.
<div id='general-block' class='block'>
<ul>
<li>Test</li>
<li>Test</li>
</ul>
</div>
<div id='general-block' class='block'>
<ul>
<li>Test</li>
<li>Test</li>
</ul>
</div>
<div id='general-block' class='block'>
<p>Class won't apply to the parent div</p>
</div>
uj5u.com熱心網友回復:
不能有多個元素具有相同的 id,ID 必須是唯一的
您可以通過類使用 .each ,并為任何具有 li 的 div 添加自定義類
$('.general-block').each(function() {
if ($(this).children().find('li').length>0) {
$(this).addClass('testing-block');
}
});
<div class='general-block block'>
<ul>
<li>Test</li>
<li>Test</li>
</ul>
</div>
<div class='general-block block'>
<ul>
<li>Test</li>
<li>Test</li>
</ul>
</div>
<div class='general-block block'>
<p>Class won't apply to the parent div</p>
</div>
uj5u.com熱心網友回復:
如前所述,您不能有多個具有相同 id 的元素,ID 必須是唯一的。
但是,如果元素具有指定的子元素,則完全可以添加一個類。
$(".block:has(li)").addClass('testing-block');
類選擇器將回傳所有匹配項。Id 只是第一個。所有元素匹配都是在這里很好用的。
但同樣對于唯一元素使用不同的 ID。
uj5u.com熱心網友回復:
$('#general-block > ul').each(function() {
if ($('general-block:has(li)').length) {
$('general-block').addClass('testing-block');
}
});
ID也必須是唯一的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/424602.html
標籤:javascript html jQuery
