我必须通过访问ID为“contentcolumn”的DIV的第一个孩子来访问它。
您的意思是这样的?
var elm = document.getElementById("contentcolumn").firstElementChild;
你说,这是第一个孩子,所以我没有刻意去查className
,但当然,你可以,如果你喜欢。你会做补充一点检查:
if (elm.className.match(/\bcontent\b/) && elm.className.match(\bcontent_gray\b)) {
// ...
}
请注意,并非所有的浏览器都firstElementChild
。 (我不记得肯定IE8是否确实,例如)。对于那些不这样做,一个简单的循环做它(和作品甚至在那些有它):
var elm = document.getElementById("contentcolumn").firstChild;
while (elm && elm.nodeType !== 1) {
elm = elm.nextSibling;
}
为了你可以有一个小工具库中使用:
function firstElementChild(parent) {
var node = parent && parent.firstElementChild;
if (!node && parent) {
node = parent.firstChild;
while (node && node.nodeType !== 1) {
node = node.nextSibling;
}
}
return node;
}
你问下面如何设置元素的id
一旦你拥有的元素。这部分很简单:。
elm.id = "value";
你尝试过什么吗? – j08691
那么你的问题是什么?继续做吧。 – 2013-09-23 21:00:49
真的很问问题,供将来参考。当你似乎还没有研究和制定你的问题时,你不应该期待社区为你的工作。 – chryss