【发布时间】:2012-08-13 05:58:46
【问题描述】:
我有一个函数,其目标是处理 onClick 事件。
因此,例如,我们有 4 个 Span 元素和 4 个 Div 元素。 Spans 是选项卡按钮,我想“打开”那些 Div。
第一个 Span onClick 将(打开)更改“block”中第一个 Div 的 style.display,从“none”,等等。
这段代码效果很好,但它只改变了元素的设计。
function activateSup(s) {
var workTable = s.parentNode.parentNode.parentNode.parentNode.parentNode;
var spans = workTable.getElementsByTagName("span");
var supDivs = workTable.getElementsByClassName("supDiv");
for (var i = 0; i < spans.length; i++) {
spans[i].style.backgroundColor = "";
spans[i].style.border = "";
}
s.style.backgroundColor = "#5eac58";
s.style.border = "2px solid #336633";
}
我尝试将下面的代码添加到我的函数中以实现我想要的,但它不起作用。
var getIndex = function(s) {
for (var index = 0; s != s.parentNode.childNodes[index]; index++);
return index;
}
for (var d = 0; d < supDivs.length; d++) {
if (getIndex == d) {
supDivs[d].style.display = "block";
}
else {
supDivs[d].style.display = "none";
}
}
【问题讨论】:
-
对了,能详细说明一下HTML结构吗?我想知道您为什么需要查找
s.parentNode.parentNode.parentNode.parentNode.parentNode。
标签: javascript