获取特定类型的第一个子节点-JavaScript

Get first child node of specific type - JavaScript

本文关键字:第一个 子节点 -JavaScript 类型 获取      更新时间:2024-05-12

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

例如,在这两个例子中,我都想得到img元素:

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

与。

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

试试这个

var firstIMG = document.getElementById('mylink').getElementsByTagName('img')[0];

您也可以使用querySelector:

var firstImg = document.querySelector("#mylink > img:first-of-type");
var anchor = document.getElementById('mylink');
var images = anchor.getElementsByTagName('img');
var image = images.length ? images[0] : null;

这里有一个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');
jQuery扼杀了我的香草JavaScript!我过去对JS很有信心,但现在发现,当我有一个不能使用jQuery的项目时,我几乎可以查找所有内容。

jQuery(这么简单):

$('#mylink').children('img')[0];

香草JS(来自上面瑜伽士的回答——谢谢):

document.getElementById('mylink').getElementsByTagName('img')[0];