Дочерний элемент jQuery для выбранного элемента

StackOverflow https://stackoverflow.com/questions/359393

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top