84

是否有可能获得一个子 dom 元素,它将是特定类型的第一个子元素。

例如,在这两个示例中,我都想获取img元素:

<a id="mylink" href="#"><img src="myimage.jpg" /></a>

对比

<a id="mylink" href="#"><span></span><img src="myimage.jpg" /></a>
4

4 回答 4

148

尝试这个

var firstIMG = document.getElementById('mylink').getElementsByTagName('img')[0];
于 2012-07-28T12:45:05.823 回答
43

您还可以使用querySelector

var firstImg = document.querySelector("#mylink > img:first-of-type");
于 2012-07-28T12:46:30.800 回答
5
var anchor = document.getElementById('mylink');
var images = anchor.getElementsByTagName('img');
var image = images.length ? images[0] : null;
于 2012-07-28T12:45:33.437 回答
0

这是一个javascript函数

function getFirst(con,tag)
{
    return con.getElementsByTagName(tag)[0];
}


//html markup
<a id="mylink" href="#"><img src="myimage.jpg" /></a>
<a id="mylink1" href="#"><img src="myimage.jpg" /></a>

//test
var con=document.getElementById('mylink');
var first=getFirst(con,'img');
于 2012-07-28T13:36:43.147 回答