Jam*_*rzs 24 html javascript parent-child getelementbyid
我有一个看起来像这样的HTML:
<div id="mainDiv"> <-- I have this
<div>
<div></div>
<div></div> <-- I need to get this
</div>
<span></span>
<more stuff />
</div>
Run Code Online (Sandbox Code Playgroud)
我在用:
var mainDiv = document.getElementById('mainDiv');
Run Code Online (Sandbox Code Playgroud)
因为我需要var中的div,但我还需要将mainDiv中第一个div的第二个div放到变量中.
我怎么能以简单的跨浏览器方式做到这一点?
nnn*_*nnn 28
假设结构是静态的,你可以这样做:
var mainDiv = document.getElementById('mainDiv'),
childDiv = mainDiv.getElementsByTagName('div')[0],
requiredDiv = childDiv.getElementsByTagName('div')[1];
Run Code Online (Sandbox Code Playgroud)
进一步阅读:( .getElementsByTagName()来自MDN).
Cha*_*ang 14
var mainDiv = document.getElementById('mainDiv');
var x = mainDiv.children[0].children[1];
Run Code Online (Sandbox Code Playgroud)
要么
var mainDiv = document.getElementById('mainDiv');
var x = mainDiv.getElementsByTagName('div')[0].getElementsByTagName('div')[1];
Run Code Online (Sandbox Code Playgroud)
我会选择jQuery并最终得到这样的东西:
var getThis = $('#mainDiv > div:eq(0) > div:eq(1)');
Run Code Online (Sandbox Code Playgroud)
我只需要简单的一行代码就可以了。
适用于任何元素,不仅限于结构中的标签名称。但是必须保留元素的数量和层次结构。
var requiredDiv = document.getElementById('mainDiv').firstChild.firstChild.nextSibling;
Run Code Online (Sandbox Code Playgroud)