【发布时间】:2012-05-15 12:34:15
【问题描述】:
我正在编写一个 Chrome 内容脚本扩展程序,我需要能够定位一个特定元素,不幸的是,除了它的父元素之外没有唯一标识符。
我需要定位parentElement 的第一个子元素。 console.log(parentElement) 完美地报告了两个子元素/节点,但是无论我做什么,后续的控制台日志(针对 childNodes 的日志)总是返回一个 undefined 值。
这是我目前的代码
(我已排除实际名称以避免混淆和额外的、不必要的解释)
function injectCode() {
var parentElement = document.getElementsByClassName("uniqueClassName");
if (parentElement && parentElement.innerHTML != "") {
console.log(parentElement);
console.log(parentElement.firstElementChild);
console.log(parentElement.firstChild);
console.log(parentElement.childNodes);
console.log(parentElement.childNodes[0]);
console.log(parentElement.childNodes[1]);
} else {
setTimeout(injectCode, 250);
}
}
如何选择parentElement的第一个子元素/节点?
更新:parentElement.children[0] 也有与parentElement.childNodes[0] 相同的错误。
【问题讨论】:
-
你想要第一个子节点还是第一个子元素(节点)?
-
父 div 和子 div 之间不要有空格,但要在一行中
标签: javascript dom