0

我希望 DOM 考虑即使用户单击锚标记所在的父 li 元素也单击了锚标记。

  <ul>
  <li><a href="#">test1</a></li>
  <li><a href="#">test2</a></li>
  </ul>

此处链接“test1”仅在我单击文本时有效,但当我单击 li 标签时,我希望链接转到目标页面。

4

1 回答 1

1

笔记

您可以先尝试使用 CSSdisplay:block进行a标记。我认为a标签没有占用所有可用空间li。所以你有这个问题。


如果 CSS 失败,那么

$("ul li").click(function(){
   window.location = $(this).find("a").attr('href');
});

您正在尝试单击以链接,标记,但通常不可能,因为单击不是带有锚标记的默认事件。

如果您之前将click处理程序绑定到a标记并稍后触发,则可以这样做,如下所示:

$('ul li a').on('click', function() {
  window.location = this.href;
});

$("ul li").click(function(){
   $(this).find("a").click(); // fire previous click event binded to anchor
});
于 2012-06-27T16:08:15.530 回答