使用Javascript onClick事件转到子元素的href

时间:2014-09-26 18:50:53

标签: javascript jquery onclick location-href

由于一些奇怪,我坚持使用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> 

谢谢!

3 个答案:

答案 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');">
相关问题