我必须通过访问 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";