39

私は次のようなHTMLを持っています:

<div id="mainDiv"> <-- I have this
    <div>
        <div></div>
        <div></div> <-- I need to get this
    </div>
    <span></span>
    <more stuff />
</div>

使ってます:

var mainDiv = document.getElementById('mainDiv');

varにそのdivが必要ですが、mainDiv内の最初のdivにある2番目のdivを変数に入れる必要もあります。

どうすれば簡単なクロスブラウザの方法でそれを行うことができますか?

4

6 に答える 6

49

構造が静的であると仮定すると、次のことができます。

var mainDiv = document.getElementById('mainDiv'),
    childDiv = mainDiv.getElementsByTagName('div')[0],
    requiredDiv = childDiv.getElementsByTagName('div')[1];

さらに読む: .getElementsByTagName()(MDNから)

于 2012-08-21T04:03:29.567 に答える
25
 var mainDiv = document.getElementById('mainDiv');
 var x = mainDiv.children[0].children[1];

また

 var mainDiv = document.getElementById('mainDiv');
 var x = mainDiv.getElementsByTagName('div')[0].getElementsByTagName('div')[1];
于 2012-08-21T04:03:34.217 に答える
7

jQuery を選択すると、次のようになります。

var getThis = $('#mainDiv > div:eq(0) > div:eq(1)');

フィドル

于 2012-08-21T04:05:09.463 に答える
0
var mainDiv = document.getElementById('mainDiv');
var div = maindiv.getElementsByTagName('div')[2];//third div

http://jsfiddle.net/MGVw8/

于 2012-08-21T04:05:09.903 に答える