Дочерний элемент jQuery для выбранного элемента
-
21-08-2019 - |
Вопрос
У меня есть список ссылок, к которым прикреплено событие щелчка, мне нужно получить идентификатор от дочерней ссылки.Итак, в приведенном ниже примере, если бы я щелкнул по первому элементу списка, мне потребовалась бы перенастройка Google.
Я пытался '$this a'
но не могу до конца разобраться с синтаксисом.
$("ul li").click(function(event){
$("input").val($(this).html());
});
<ul>
<li><a href="http://www.google.com" id="google">Google</a>
</ul>
Решение
Я не вижу примера HTML, но
$(this).find('a:first').attr('id')
сделал бы это (исправил ответ: во-первых (если это не то, что вы имели в виду)
это обратитесь к элементу, который запустил ваше событие
Другие советы
Чтобы сделать ваш код немного аккуратнее, давайте свяжем триггеры с такими функциями, как so:(я предлагаю вам присвоить вашему UL идентификатор, чтобы он был специфичен только для элементов внутри этого UL)
$('ul li').bind('click', getAnchorId);
Вызываемая функция (getAnchorId) получает атрибут ID дочернего элемента (a) выбранного элемента (ul li) и применяет его к переменной (anchorId), и чтобы показать, что она получает правильную информацию, я помещаю результат в оповещение.
function getAnchorId() {
var anchorId = $(this).children('a').attr('id');
alert(anchorId);
}
Теперь вы можете делать с этой переменной все, что пожелаете :)
надеюсь, это поможет :)
Вы могли бы использовать children
способ:
$(this).children('a').eq(0).attr('id');
Я не уверен насчет синтаксиса, но что-то вроде этого должно сработать.