如何获得第一个内在元素?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我想在这个div中得到第一个“a”标签。谢谢你的帮助。

<div id="PGD" class="album" onmouseover="load(this)">
     <a class="dl" href="#">DOWNLOAD</a>
</div>

JavaScript

function load(dl)
{  

 var ID = $(dl).attr('id');
 var elemnt = $('ID:first').attr('id'); 

} 
提问于
用户回答回答于

非jQuery的:未标记与jQuery之前,所以我包括在此

  • 如果只想获得第一个子元素: var element = document.getElementById('PGD').children[0];
  • 如果你想获得第一个锚元素: var element = document.getElementById('PGD').getElementsByTagName('a')[0];

使用jQuery:

var element = $('#PGD').find('a:first');
// or, to avoid jQuery's pseudo selecors:
// var element = $('#PGD').find('a').first();

实际上你的功能可以

function load(dl)
{    
   var element = $(dl).find('a:first'); 
} 

更新:

在使用jQuery时,我建议不要在HTML标记中附加点击处理程序。做到这一点的jQuery方式:

$(function() {
    $("#PGD").mouseover(function() {
         $(this).find('a:first').attr('display','inline');  
        alert($(this).find('a:first').attr('display'));
    });
});

和你的HTML:

<div id="PGD" class="album">
     <a class="dl" href="#">DOWNLOAD</a>
</div>

用户回答回答于
$("#PGD").children("a:first")

这会给你第一个子元素的“a”标签,但不会是后代。例如

     <div id="log">
        <p><a href="foo">Foo</a></p>
        <a href="hello">Hello</a>
        <a href="how">Hello</a>
     </div>

会给你 : <a href="hello">Hello</a>

扫码关注云+社区