[英]Add Class to <body> if a DIV has more then 4 elements
當<div class="scroll">
具有超過4個<li>text</li>
元素時,我正在嘗試向<body>
添加類。
HTML:
<body>
<div class="scroll">
<div> <!-- Parent Element -->
<ul> <!-- Parent Element 2 -->
<li>text</li> <!-- Child 1-->
<li>text</li> <!-- Child 2-->
<li>text</li> <!-- Child 3-->
<li>text</li> <!-- Child 4-->
<li>text</li> <!-- Child 5-->
</ul>
</div>
</div>
<body>
表示如果<div class="scroll">
有5個<li>text</li>
項,則將類添加到body
例如<body class"popup">
。 任何人都知道如何通過Jquery做到這一點。 提前致謝。
您可以使用setInterval(僅在動態添加了li的情況下才需要,如果不是這種情況,則可以跳過),並檢查其長度,並根據需要執行相應的操作。
setInterval(function(){
if(jQuery('div.scroll ul > li').length > 4)
jQuery('body').addClass('popup');
else
jQuery('body').removeClass('popup');
}, 1000);
注意:您需要將此腳本放置在body標簽關閉之前或需要比較其長度的元素之后。
我認為您正在追隨以下情況。
$(function() {
//Will execute as soon as the DOM is loaded
addBodyClass();
//Let's say a click function somewhere deletes a LI
$("selector").on("click", function() {
$('.scroll li:last').remove();
//Now there are 4 LIs which means remove the popup class from body
//So, call the function again
addBodyClass();
});
});
function addBodyClass() {
$('.scroll li').length > 4 && $("body").addClass("popup") || $("body").removeClass("popup");
//The above is the shorter version of
if ($('.scroll li').length > 4) {
$("body").addClass("popup");
} else {
$("body").removeClass("popup");
}
}
這應該為你工作
<script type="text/javascript">
$(document).ready(function(){
if ($('.scroll li').length > 4) {
$("body").addClass("popup");
} else {
$("body").removeClass("popup");
}
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.