-1

クライアントの要求により、jquery を使用できません。以下のスクリプトを使用して、div が空であるかどうかを確認し、空である場合は非表示にします。しかし、機能していません。何か案は?

<style>     
#top
{
padding: 0;
height: 120px;
width: 820px;
float: left;
background: #cccccc;
}
</style>
        <script>
if( document.getElementById("top").innerHTML == "" )
{
   document.getElementById("top").style.display='none';
}
        </script>
        <div id="top">
        </div>
4

3 に答える 3

5

script の後に移動しますdiv

<style>
    #top {
        padding: 0;
        height: 120px;
        width: 820px;
        float: left;
        background: #cccccc;
    }
</style>
<div id="top"></div>
<script>
    if (document.getElementById("top").innerHTML == "") {
        document.getElementById("top").style.display = 'none';
    }
</script>

このフィドルを確認してください:

(貴重な)コメントに基づいて:

これは、達成しようとしている機能のバリエーションです:(これにより、迷子の空白が処理されます)

if (typeof (String.prototype.trim) === "undefined") {
    String.prototype.trim = function () {
        return String(this).replace(/^\s+|\s+$/g, '');
    };
}

$top = document.getElementById("top");
if ($top.innerHTML.trim() == "") {
    $top.style.display = 'none';
}
于 2013-10-22T15:13:01.670 に答える
1

null の場合は、比較する前に div の内容をトリミングする必要があります。このコードを確認してください

<script type="text/javascript">
if(document.getElementById("top").innerHTML.trim()=='')
{
   alert('hello');
   document.getElementById("top").style.display='none';
}
</script>

試してみるとうまくいくはずです..

于 2013-10-22T15:51:16.410 に答える