我想简单地检测并遍历文档中某个元素之下的所有元素。然后,我想向某个元素下方存在的所有元素添加一个类。
我从此开始,但意识到这完全是错误的。
$('div').addClass("below-fold").after('#BelowThisElm');
否,没有唯一的父元素;如果有的话,我不会尝试做这样的事情,我只会addClass
。
答案 0 :(得分:0)
.after()
用于在所选元素之后添加内容,而不用于选择内容。使用与ID下的所有DIV匹配的选择器。
$("#BelowThisElm div").addClass("below-fold");
这是递归操作,它与#BelowThisElm
下方的DIV及其下方的DIV相匹配,依此类推。如果您只需要下面的内容,请使用
$("#BelowThisElm > div").addClass("below-fold");
答案 1 :(得分:0)
首先,我们获取元素的siblings
。然后在列表中确定其index
。然后在兄弟姐妹之间循环,如果key
大于index
,则开始添加类。
$.each( $("#BelowThisElm").siblings(), function( key, value ) {
if(key < $("#BelowThisElm").index()) {
return;
}
$(value).addClass("below-fold");
});
.below-fold {
color:#FF00FF;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>Element -2</div>
<div>Element -1</div>
<div>Element 0</div>
<div id="BelowThisElm">Below this element</div>
<div>Element 1</div>
<div>Element 2</div>
<div>Element 3</div>
<div>Element 4</div>
<div>Element 5</div>