由于一些奇怪,我坚持使用javascript到Jquery通过单击父li元素获得工作链接。基本上点击 li 上的任意位置都应该将用户带到 a 的链接,该链接是其直接的子项。我有些远远似乎不起作用。代码:
<ul>
<li onclick="location.href='$(this).children('a:first').attr('href')';">
<a href="http://example.com/">link</a>
</li>
</ul>
谢谢!
答案 0 :(得分:6)
您可以通过不使用onclick来简化代码,而是使用选择器来定位该节点并在那里进行点击事件。
$(".myUl li").on("click", function() {
location.href = $(this).children("a").attr("href");
});
但你真的应该用css来解决这个问题。您也可以在display: block;
上使用<a>
,并填充内容,添加额外的填充,基本上就像div一样,但保持链接功能。
答案 1 :(得分:4)
当您在href周围放置单引号时,它被视为字符串。此外,您在其他单引号中使用单引号,这会过早地结束字符串。它确实试图转到网址“$(this).children(”。
相反,请删除location.href
周围的单引号<ul>
<li onclick="location.href=$(this).children('a:first').attr('href');">
<a href="http://example.com/">link</a>
</li>
</ul>
另外,你真的不应该使用像这样的内联脚本。将脚本标记添加到页面底部并在其中放置一个绑定到li的click事件的脚本会更好。
答案 2 :(得分:1)
替换为
<li onclick="location.href=$(this).children('a:first').attr('href');">