Как получить первый внутренний элемент?

Таким образом, я Хочу получить первое тег в этом отделении. Это действительно сводит меня с ума. спасибо за любую справку.

<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'); 

} 
24
задан Felix Kling 3 August 2010 в 08:53
поделиться

3 ответа

Не-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/

41
ответ дан 28 November 2019 в 23:37
поделиться
$(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/

0
ответ дан 28 November 2019 в 23:37
поделиться
$("#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>

Вы получите: Здравствуйте,

0
ответ дан 28 November 2019 в 23:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: