在后存档页面上有两个单独的部分。第一部分展示了两个特色帖子。每个帖子的div类对于所显示的页面是唯一的。EX:
<div class"featured">
<div class="featured-post post-1234"> post content </div>
<div class="featured-post post-9999"> post content </div>
</div>
第二部分显示此类别中的完整文章列表。
<div class="feed">
<div class="post-grid-post post-9999"> post content </div>
<div class="post-grid-post post-1111"> post content </div>
<div class="post-grid-post post-3333"> post content </div>
</div>
我想隐藏一个职位从第二部分,如果它已经显示在第一。有麻烦,因为我不是只针对一个类,但多个。
我已经尝试了这里的建议,但它是打破我的网页,因为它是搜索整个页面,因为我还没有弄清楚如何定位父div只有Hide one Element when duplicate DIV is existing
var allElems = document.querySelectorAll('*'),
elems = [],
obj = {};
Array.from(allElems).forEach(v => v.getAttribute('class') ? elems.push(v) : null);
elems.forEach(v => !obj[v.getAttribute('class')] ? obj[v.getAttribute('class')] = 1 : obj[v.getAttribute('class')]++);
Object.keys(obj).forEach(function(v) {
var elements = document.getElementsByClassName(v);
if (obj[v] > 1) {
Array.from(elements).forEach(v => v.hidden = true);
elements[0].hidden = false;
}
});
1条答案
按热度按时间bakd9h0s1#
使用jQuery,你可以很容易地实现它。
a)遍历
featured-post
div并获取它的最后一个类B)隐藏包含相同类的
post-grid-post
div。工作片段:
注意:因为你有WordPress网站,所以使用
jQuery
而不是$