模拟点击<a> inside of a <li></li></a>

时间:2013-10-27 11:47:01

标签: jquery

我在<a>代码中有一个<li>代码,我想在点击<a>时点击其中的<li>

我尝试了以下内容:

$('li.level2').click(function() {
        $( $(this) +' a').click();
    });

但我收到错误提示“错误:语法错误,无法识别的表达式:[object Object]”。

1 个答案:

答案 0 :(得分:3)

要在单击的元素中查找链接,请使用find(或仅对元素的直接子项children):

$('li.level2').click(function(e) {
    if (e.target.tagName.toUpperCase() !== "A") {
        $(this).find('a').click(); // Or $(this).children('a').click();
    }
});

请注意,我已过滤掉源自锚点的事件,因此无法解决。

但也有一个CSS解决方案:您可以通过将列表项更改为display: block(取决于列表的样式)来使填充列表项。< / p>


如果目标是关注该链接,那么您可以通过JavaScript实现这一目标(例如,如果您不想填写{{1}使用CSS链接:

li

Live Example | Source