所以我想在这个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');
}
答案 0 :(得分:38)
非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>
答案 1 :(得分:0)
$(ID).find(':first')
参见find
jQuery命令。
$('#PGD').find('a:first')
Actualy我不理解问题,所以我正在尝试纠正你的功能,为你说清楚:
function load(dl)
{
// var ID = $(dl).attr('id');
// var elemnt = $('ID:first').attr('id'); // Here is error-mast be like $(ID+':first')
var ID = $(dl).attr('id');
var elemnt = $(ID).find('*:first').attr('id');
}
我提到dl
$('#PGD')
。但是子元素A
没有归因id
,您想要找到什么?
答案 2 :(得分:0)
$("#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>