Piszę rozszerzenie skryptu treści Chrome i muszę mieć możliwość kierowania na konkretny element, który niestety nie ma unikalnych identyfikatorów oprócz elementu nadrzędnego.Uzyskaj natychmiastowy pierwszy element podrzędny
Potrzebuję kierować natychmiastowy pierwszy element podrzędny z parentElement
. console.log(parentElement)
raportuje oba elementy/węzły potomne w sposób perfekcyjny, ale kolejne logi konsoli (te, które są kierowane na węzły potomne) zawsze zwracają wartość undefined
bez względu na to, co robię.
To jest mój kod tak daleko
(mam wyłączone rzeczywiste nazwiska, aby uniknąć nieporozumień i dodatkowej, niepotrzebnej wyjaśnienia)
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);
}
}
Jak wybrać pierwszy element dziecko/węzeł parentElement
?
Aktualizacja:
parentElement.children[0]
ma również ten sam błąd co parentElement.childNodes[0]
.
Chcesz pierwszy węzeł podrzędny lub pierwsze dziecko ** element ** (węzeł)? –
nie dopuszczaj żadnych spacji między div rodzica a dzieckiem, ale w jednej linii –
childNodes [0] zwraca 'undefined' right? Zobacz moją odpowiedź na przykład poniżej. –