如果div为空,则不应显示标题

时间:2011-06-17 17:29:00

标签: javascript

我的网站上有标签,但有时标签不包含这样的信息:

        <div class="idTabs">
                    <div class="tabIt">
                        <a class="selected" href="#productDetails" name="Tab1">Description</a>
                    </div>
                    <div class="tabIt">
                        <a href="#specs" name="Tab2" class="">Specifications</a>
                    </div>
        </div>


  <div class="productInformation">

        <div class="information">

            <div id="productDetails" style="display: block; ">
                   <div class="productInfo">
                   </div>
            </div>
            <div id="specs" style="display: none; ">

            </div>
        </div>

   </div>

如果标签中不包含任何信息,我该如何才能显示标签? 感谢

3 个答案:

答案 0 :(得分:2)

你可能需要RegEx。像这样:

<script type="text/javascript">
    regex = /(\w)/;

    // div to check to be empty
    div = document.getElementsByClassName('productInfo')[0];

    if(regex.test(div.innerHTML) === false){
        document.getElementById('productDetails').style.display = 'none';
        document.getElementsByClassName('tabIt')[0].style.display = 'none';
    }
</script>

与jQuery相同:

<script type="text/javascript">
    regex = /(\w)/;

    div = $('div#productDetails div.productInfo').text();

    if(regex.test(div) === false){
        $('#productDetails').hide();
        $('.tabIt').first().hide();
    }
</script>

如果DIV只包含空格,它也会隐藏它。

答案 1 :(得分:1)

这样的事情:

<script type="text/javascript">
    var tab2 = document.getElementsByName('Tab2')[0];
    var specs = document.getElementById('specs');
    if (tab2.className == '') specs.style.display = 'none';
</script>

答案 2 :(得分:1)

您应该使用innerHTML来检测div中的HTML内容,如此

<script type="text/javascript">
    if (document.getElementById('specs').innerHTML == '')
        document.getElementById('specs').style.display = 'none';
</script>