链接单击父对象的功能以重定向到href

时间:2010-01-08 21:20:51

标签: jquery object scope this

我对这个问题感到非常愚蠢,但我无法想出一个简洁的方法来写这个......

继承HTML

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

我希望父LI的click函数重定向a的href与.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 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

$("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);
  });
});

答案 2 :(得分:0)

你可以反过来做。不知道确切的JQuery编写方式。

向“li”元素添加一个click事件并获取其第一个子元素,即“a:元素并获取其href。