【发布时间】:2013-06-26 12:07:48
【问题描述】:
您好,我在 javascript 方面的经验有限,正在尝试使用脚本向 div 添加样式。
我有一个无法直接访问代码的 cms 实例,我只能更改 <div class="overlay"> 和 javascript。如果包含 div 的 span 为空,我需要能够隐藏 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,则脚本会将 display:none 添加到 <div class="overlay"></div>(我正在使用此 div 显示销售标志图像)
【问题讨论】:
-
DIV 不能是 SPAN 的子级 - 您正在创建无效的 HTML,所以不要期望事情会像您期望的那样工作。
-
包含 div 的 span 永远不会为空 :-)
标签: javascript