<ul>
<li id='A_section'><span>A</span></li>
<li id='B_section'><span>B</span></li>
<li id='C_section'><span>C</span><a>123</a></li>
</ul>
这三个li中包含a标签的可以显示,不包含a标签的则隐藏,用jquery怎么做?或者AngularJS做?
<ul>
<li id='A_section'><span>A</span></li>
<li id='B_section'><span>B</span></li>
<li id='C_section'><span>C</span><a>123</a></li>
</ul>
这三个li中包含a标签的可以显示,不包含a标签的则隐藏,用jquery怎么做?或者AngularJS做?
//默认全部隐藏
$("ul").find("li").each(function(i){
var flag=$(this).find("a").length;//判断当前元素是否包含a标签,大于0为真,否则为假
if(flag){
$(this).show();
}
});
//另一种方法
$("ul").find("li").filter(function(index){
return $(this).find('a').length;
}).show();
// js
$('ul li').forEach(function(item,index){
if($(item).find('a').length) {
$(item).removeClass('hide')
} else {
$(item).addClass('hide')
}
})
//css
.hide{
display:none;
}
.show{
display:block;
}
// html
<ul>
<li id='A_section hide'><span>A</span></li>
<li id='B_section hide'><span>B</span></li>
<li id='C_section hide'><span>C</span><a>123</a></li>
</ul>
@佣才
$("ul li").hide();
$("ul li a").parents('li').show();
这样就可以了(简便 赞)
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
使用 a 来逆向查找 li