Javascript 如果父范围为空,则隐藏div

Javascript 如果父范围为空,则隐藏div,javascript,Javascript,嗨,我对javascript的经验有限,我正在尝试使用脚本向div添加样式 我在cms上有一个无法直接访问代码的实例,我所能更改的只是和javascript。如果包含div的范围为空,我需要能够隐藏div Html: <div class="textrow div_SA" style="height:16px;"> <span class="spn_SA" style="font-weight:bold;color:#B22222;"> <d

嗨,我对javascript的经验有限,我正在尝试使用脚本向div添加样式

我在cms上有一个无法直接访问代码的实例,我所能更改的只是
和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>

节省10.00美元
我尝试使用的javascript(在这里找到并稍作修改)

window.onload=函数(){
var span=document.getElementsByTagName('span');
var i=0,
L=跨度。长度,
tem,pa;
而(i
结果是,如果span不包含文本
Save$10.00
,脚本将向
添加
display:none
(我使用此div显示销售标志图像)

您可以使用并执行此操作

给元素分配一个id,比如

检查情况

$(“#myspan”).text()

这永远不会是
真的
。始终是一个字符串(或者-如果不支持-
未定义
)。使用

测试是否存在任何非空白字符


您希望
childNode
是什么?您可能想使用或。

DIV不能是SPAN的子级-您正在创建无效的HTML,因此不要期望事情按照您的预期工作。包含DIV的SPAN从来都不是空的:-)或
document.geteElementById('myspan')。innerText.length==0
谢谢,我现在使用的是:
window.onload=function(){var span=document.getElementsByTagName('span');var i=0,L=span.length,tem,pa;而(i
但是仍然没有luck@user2422081:
firstElementChild
不是
firstChildElement
。您收到的错误消息应该表明这一点。
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";
        }
    }
};
((tem.textContent === 0 || tem.textContent === null) && !tem.innerText)
/\S/.test(tem.textContent || tem.innerText || "")
tem.childNode.style.display = "none";