Таким образом, я Хочу получить первое тег в этом отделении. Это действительно сводит меня с ума. спасибо за любую справку.
<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');
}
Update:
Поскольку вы используете 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>
Смотрите сами: http://jsfiddle.net/GWgjB/
$(ID).find(':first')
Смотрите find
команду jQuery.
$('#PGD').find('a:first')
На самом деле я не понимаю проблемы, поэтому я пытаюсь исправить вашу функцию, чтобы вам было понятно:
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
, что вы пытаетесь найти?
См. также: http://api.jquery.com/category/selectors/
$("#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>
Вы получите: Здравствуйте,