[英]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顯示銷售標志圖像)
((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.