Javascript 如果父范围为空,则隐藏div
嗨,我对javascript的经验有限,我正在尝试使用脚本向div添加样式 我在cms上有一个无法直接访问代码的实例,我所能更改的只是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的范围为空,我需要能够隐藏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";