我想删除一些通过 get_template_part(); 使用 wordpress 循环添加的 div 元素。
结构是这样的:
<div id="level1" class="col-0-1 noPad">
get_template_part('new-story');
</div>
为了可读性,我已经删除了大部分循环。
模板部分的结构如下:
<div class="col-OuterContainer noPad">
stuff
</div>
所以在实践中它看起来更像这样:
<div id="level1" class="col-0-1 noPad">
<div class="col-OuterContainer noPad">
stuff
</div>
</div>
我想检测是否有超过 2 个名为“col-OuterContainer”的 divz,然后删除那里的 divz。我认为这很简单,并尝试了这个:
var num = $('.col-OuterContainer').length;
if (num > 2) {
$('#level1>div:gt(1)').remove();
}
我目前有 3 个帖子,所以第三个应该被删除,但它没有。我得到一个 3 的 console.log,所以它显然知道那里有 3 个元素,那么为什么它不删除第三个元素?
更新:所以我用代码玩了更多。
wp 循环还是一样的:
<div id="level1" class="col-0-1 noPad">
get_template_part('new-story');
</div>
get_template_part 里面的代码是这样的:
<div class="col-OuterContainer noPad"><div>stuff 1</div></div>
JS是这样的:
jQuery(document).ready(function($){
console.log( $('.col-OuterContainer').length );
$('#level1 .noPad:gt(1)').remove();
});
我得到这个输出:
<div id="level1" class="col-0-1 noPad">
<div class="col-OuterContainer noPad"><div>stuff 1</div></div>
<div class="col-OuterContainer noPad"><div>stuff 1</div></div>
<div class="col-OuterContainer noPad"><div>stuff 1</div></div>
</div>
控制台显示 3 个元素,但即使我以 noPad 或 .col-OuterContainer 为目标,也不会删除第三个元素。