如果找不到元素,则隐藏元素

时间:2017-08-25 12:13:14

标签: javascript jquery

如果找不到特定代码,我如何隐藏元素?

示例:

如果此代码不存在:

<div id="tab-1"></div>

应隐藏此元素:

<li>
   <a id="tab-data" href="#tab-1">Tab 1</a>
<li>

我认为唯一的解决方案是脚本

4 个答案:

答案 0 :(得分:1)

我不确定,但我认为它会对你有所帮助,它会隐藏哪个div没有内容

&#13;
&#13;
$('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;
&#13;
&#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)

&#13;
&#13;
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;
&#13;
&#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();
}