Клик по ссылке функция родительский объект для перенаправления избыточного веса


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

Вот HTML

<li>
<a class='link_parent' href='#'>Test</a>
</li>

Я хочу, чтобы функция click родительского LI перенаправляла href a с помощью .link_parent...

Итак...

$('a.link_parent').each(function() {
  $(this).parent().click(function() {
    // Need to access $(this).attr('href') of the above object
    // but can't since $(this) is now the <li> object
    // help!
  });
});
3 2

3 ответа:

$('a.link_parent').each(function() {
    var link = this;
    $(this).parent().click(function() {
        link.attr('href');
    });
});
$("li").click(function(){
  $("a.link_parent", this).trigger("click");
});

Просто краткое объяснение объема. this - это не единственный способ получить доступ к элементам:

$("a.link_parent").each(function(i,o){
  // 'o' will always be a reference to this anchor
  $(this).parent().click(function(e){
    // 'e.currentTarget' will be a reference to this parent
    alert(o + " " + e.currentTarget);
  });
});

Можно сделать и наоборот.Не знаю точного способа написания JQuery.

Добавьте событие click к элементу " li "и захватите его первый дочерний элемент, т. е. элемент" a: и получите его href.