JQuery дочерний элемент с щелчком

У меня есть список ссылок, к которым прикреплено событие click, мне нужно получить идентификатор от дочерней ссылки A. Так что в приведенном ниже примере, если я нажму первый элемент списка, мне нужно будет перенастроить Google.

Я пробовал '$this a' но не могу понять синтаксис.

$("ul li").click(function(event){
  $("input").val($(this).html());             
});
<ul>
    <li><a href="#" onclick="location.href='http://www.google.com'; return false;" id="google">Google</a>
</ul>

Ответы

Ответ 1

Я не вижу образец HTML, но

$(this).find('a:first').attr('id')

сделал бы это (исправьте: первый селектор, если это не то, что вы имели в виду)

этот относится к элементу, который активировал ваше событие

Ответ 2

Чтобы сделать код немного опрятным, давайте свяжем триггеры с такими функциями: (я предлагаю вам дать свой UL ID, чтобы он был специфичен только для элементов в этом UL)

$('ul li').bind('click', getAnchorId);

Функция, которая вызывается (getAnchorId), получает атрибут ID дочернего элемента (a) элемента clicked (ul li) и применяет его к переменной (anchorId) и показывает, как получить правильную информацию, которую я помещаю результат в предупреждении.

function getAnchorId() {
    var anchorId = $(this).children('a').attr('id');
    alert(anchorId);
}

Теперь вы можете делать все, что захотите, с этой переменной:)

надеюсь, что это поможет:)

Ответ 3

Вы можете использовать метод children:

$(this).children('a').eq(0).attr('id');

Я не уверен в синтаксисе, но что-то вроде этого должно работать.