如果找不到特定代码,我如何隐藏元素?
示例:
如果此代码不存在:
<div id="tab-1"></div>
应隐藏此元素:
<li>
<a id="tab-data" href="#tab-1">Tab 1</a>
<li>
我认为唯一的解决方案是脚本
答案 0 :(得分:1)
我不确定,但我认为它会对你有所帮助,它会隐藏哪个div没有内容
$('ul li').each(function () {
if((typeof $('a', this).attr('href')) === 'undefined') {
$(this).hide();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<a id="tab-data1" href="#tab-3">Tab 1</a>
</li>
<li>
<a id="tab-data2"></a>
</li>
<li>
<a id="tab-data3" href="#tab-3">Tab 3</a>
</li>
</ul>
&#13;
答案 1 :(得分:0)
此功能可以帮助您
function hideElementIfStringNotFound(jqElement, stringToFind){
var text = jqElement.text();
if(text.indexOf(stringToFind) >= 0){
jqElement.show();
} else {
jqElement.hide();
}
}
惠特:
hideElementIfStringNotFound($("#tab-data"),"test");
答案 2 :(得分:0)
if($('li div').text()=='')
{
$(this).hide();
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
<li>
<div id="tab-data" href="#tab-1">Tab 1</div>
</li>
<li>
<div id="tab-data" href="#tab-2"></div>
</li>
<li>
<div id="tab-data" href="#tab-3">Tab 2</div>
</li>
<li>
<div id="tab-data" href="#tab-4">Tab 3</div>
</li>
</ul>
&#13;
你的意思是这样吗?
答案 3 :(得分:0)
首先检查文档中的元素长度是否大于0
以下是您的工作方式:
var selector = $( '#tab-data' ).parent();
if ( selector.length < 1 ) {
selector.hide();
}
.parent()方法将在文档中向上横向一级,获取元素的父级。
更好的是,要隐藏锚元素,请删除.parent()方法。
var selector = $( '#tab-data' );
if ( selector.length < 1 ) {
selector.hide();
}