Javascript 仅当子项包含特定字符串时才显示父项
我有一组出现在多个页面上的div,它们具有以下模式:Javascript 仅当子项包含特定字符串时才显示父项,javascript,jquery,Javascript,Jquery,我有一组出现在多个页面上的div,它们具有以下模式: <div class=“entry”> <div id=“post”> <div class=“text”> <div class=“service”></div> <div class=“timeline”> <div class=“entry-title”> #hashtagOne
<div class=“entry”>
<div id=“post”>
<div class=“text”>
<div class=“service”></div>
<div class=“timeline”>
<div class=“entry-title”>
#hashtagOne
</div>
</div>
</div>
</div>
</div>
<div class=“entry”>
<div id=“post”>
<div class=“text”>
<div class=“service”></div>
<div class=“timeline”>
<div class=“entry-title”>
#hashtagTwo
</div>
</div>
</div>
</div>
</div>
<div class=“entry”>
<div id=“post”>
<div class=“text”>
<div class=“service”></div>
<div class=“timeline”>
<div class=“entry-title”>
#hashtagThree
</div>
</div>
</div>
</div>
</div>
#哈希塔根
#哈希表二
#哈希值三
此组显示在多个页面上
我理想的javascript/jquery解决方案如下:
$('.entry-title').each(function(i,v){
if ($(this).text().trim().charAt(0) =="#") {
$(this).closest('.entry').show();
}
});
因此,在第一页上,我可以插入这段代码,只显示hashtagOne,在第二页上,只显示hashtagTwo等等。非常简单,只需在页面加载或任何您希望显示的事件中同时使用:contains()和.closest() 由于您希望基于不同的页面进行显示,我建议使用页面标题并将其设置为title=“page One”和title=“page Two”等,然后在文档就绪状态下对其进行比较,并相应地显示所需的div
jQuery(document).ready(function(){
jQuery('div.entry').hide();
if(jQuery(document).find("title").text() == 'Page One')
{
jQuery( "div.entry-title:contains('#something')" ).closest('.entry').show();
}
else if(jQuery(document).find("title").text() == 'Page Two')
{
jQuery( "div.entry-title:contains('#something Else')" ).closest('.entry').show();
}
});
试着这样做:
$('.entry-title').each(function(i,v){
if ($(this).text().trim().charAt(0) =="#") {
$(this).closest('.entry').show();
}
});
这很好:
$(document).ready(function(){
$(".entry").each(function(){
if($(this).find(".entry-title:contains('#something')").length > 0){
$(this).css("display","block");
}
});
});
这是正在运行的检查这个演示,如果这是你想要的,那么这些引用是什么(lol:))嘿@guradio没有小提琴附在上面。谢谢你的帮助!可能是这样:@guradio,我想没有现成的(简短的)方法……你的小提琴看起来不错。。