Ответ 1
Я не вижу образец HTML, но
$(this).find('a:first').attr('id')
сделал бы это (исправьте: первый селектор, если это не то, что вы имели в виду)
этот относится к элементу, который активировал ваше событие
У меня есть список ссылок, к которым прикреплено событие 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>
Я не вижу образец HTML, но
$(this).find('a:first').attr('id')
сделал бы это (исправьте: первый селектор, если это не то, что вы имели в виду)
этот относится к элементу, который активировал ваше событие
Чтобы сделать код немного опрятным, давайте свяжем триггеры с такими функциями: (я предлагаю вам дать свой 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);
}
Теперь вы можете делать все, что захотите, с этой переменной:)
надеюсь, что это поможет:)
Вы можете использовать метод children
:
$(this).children('a').eq(0).attr('id');
Я не уверен в синтаксисе, но что-то вроде этого должно работать.