簡體   English   中英

如果父跨度為空,則隱藏div

[英]Hide a div if parent span is empty javascript

嗨,我對javascript的使用經驗有限,正在嘗試使用腳本向div添加樣式。

我在cms上有一個無法直接訪問代碼的實例,我只能更改的是<div class="overlay">和javascript。 如果包含div的范圍為空,我需要能夠隱藏div。

HTML:

<div class="textrow div_SA" style="height:16px;">
    <span class="spn_SA" style="font-weight:bold;color:#B22222;">
        <div class="overlay"></div> Save $10.00
    </span>
</div>

我嘗試使用的javascript(在此處找到並進行了一些修改)

window.onload = function () {
    var spans = document.getElementsByTagName('span');
    var i = 0,
        L = spans.length,
        tem, pa;
    while (i < L) {
        tem = spans[i++];
        if ((tem.className.indexOf('spn_SA') != -1) && ((tem.textContent === 0 || tem.textContent === null) && !tem.innerText)) {
            tem.childNode.style.display = "none";
        }
    }
};

結果將是,如果跨度中不包含文本Save $10.00則腳本將在<div class="overlay"></div>添加display:none (我正在使用此div顯示銷售標志圖像)

您可以使用http://jquery.com/並執行此操作

為元素分配一個ID,例如

並檢查條件

$(“#myspan”)。text()===“”

 ((tem.textContent === 0 || tem.textContent === null) && !tem.innerText) 

這將永遠是不true .textContent始終是一個字符串(或-如果不支持- undefined )。 采用

/\S/.test(tem.textContent || tem.innerText || "")

測試是否存在任何非空白字符。

 tem.childNode.style.display = "none"; 

您期望childNode是什么? 您可能想使用.firstElementChild.firstElementChild .children[0]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM