2017-09-05 13 views
0

を持つ要素の孫を取得します。私は次のように持っている固有のID

<div id="first"> 
    <div id="second"> 
    <button id="third"></button> 
    </div> 
</div> 

DIV firstのIDとすることは、IDが、secondthird変更される可能性があります変更されることはありません。それは私が何かを使用したい変更したことがない場合は

thirdを対象に、以下:しかし

submission = document.getElementById("third"); 

firstを使用して、私は今それにアクセスする方法を?私は、これは動作するようですが、きれいに見えない

submission = document.querySelectorAll("div#first div button"); 

次のことを試してみましたが、バック(私は必要なものである)は、上記とは異なる結果が得られました:

あなたが使用する必要があります
document.getElementById("first").children[0].children[0]; 
+0

例ではvanilla JSを使用していますが、jqueryとしてタグ付けしましたか? – tgdn

+0

"*' second''と 'third'' ... change *とはどういう意味でしょうか? –

+0

他の値かもしれません – pee2pee

答えて

2

querySelector()あなたがセレクタに合う要素のセットを返します代わりにquerySelectorAll()button要素を取得したい場合:

submission = document.querySelector("div#first div button"); 

は、この情報がお役に立てば幸いです。

console.log(document.getElementById("third")); 
 
console.log(document.querySelector("div#first div button"));
<div id="first"> 
 
    <div id="second"> 
 
    <button id="third"></button> 
 
    </div> 
 
</div>

2

var btn = document.querySelectorAll('#first> div> button'); 
 
var btn1 = document.querySelector('#first> div> button'); 
 

 
console.dir(btn) 
 
console.dir(btn1)
<div id="first"> 
 
    <div id="second"> 
 
     <button id="third"></button> 
 
    </div> 
 
</div>

あなたはdocument.querySelectorAllこれはNodeListsArrayが返されないと、あなたがdocument.querySelectorを行う場合、それは特定の要素

が返されます
関連する問題