Javascript 获得';href';另一个元素内的锚点的值
假设我有这个:Javascript 获得';href';另一个元素内的锚点的值,javascript,jquery,jquery-selectors,Javascript,Jquery,Jquery Selectors,假设我有这个: <ul id="menu"> <li><a href="someplace">some text</a><li> ... </ul> 正确的代码是什么?有更好的方法吗?既然有链接,为什么不使用它呢 $('#menu li').click(function() { var link_to = $(this).children("a").eq(0).attr('href'); window.lo
<ul id="menu">
<li><a href="someplace">some text</a><li>
...
</ul>
正确的代码是什么?有更好的方法吗?既然有链接,为什么不使用它呢
$('#menu li').click(function() {
var link_to = $(this).children("a").eq(0).attr('href');
window.location = link_to;
});
如果希望它占据整个li
宽度,可以使用css将其设置为display:block
#menu li a{display:block;}
避免使用jquery实现内置功能。。(如果我理解正确的话。)既然你有一个链接,为什么不使用它呢
如果希望它占据整个li
宽度,可以使用css将其设置为display:block
#menu li a{display:block;}
避免使用jquery实现内置功能。。(如果我理解正确…)为什么要绑定单击li?。。为什么不让锚做它能做的呢?将锚点的css更改为高度:100%和宽度:100%,因为我没有想到:)请参见下面我对答案的评论为什么要绑定单击li?。。为什么不让锚做它能做的呢?将锚点的css更改为高度:100%和宽度:100%,因为我没有想到:)请参见我对下面答案的评论好的一点,没有想到display:block
。但这并不理想,因为li
元素的填充在a
块之外,因此是“死的”。是的,你是对的。。但是在不知道你到底想要什么的情况下,这是值得一试的:)上面的asnwers应该那么做..我会投票支持这一点并删除我自己的帖子。当锚在语义上处理onclick时,有很多click绑定显然是多余的。我想说的是,css的努力绝对值得,因为它消除了li创建的填充。我同意,接受这一点,因为它回答了我问题中的“有没有更好的方法”部分。其他答案也很好,你的David是最简洁的版本很好的一点,没有想到display:block
。但这并不理想,因为li
元素的填充在a
块之外,因此是“死的”。是的,你是对的。。但是在不知道你到底想要什么的情况下,这是值得一试的:)上面的asnwers应该那么做..我会投票支持这一点并删除我自己的帖子。当锚在语义上处理onclick时,有很多click绑定显然是多余的。我想说的是,css的努力绝对值得,因为它消除了li创建的填充。我同意,接受这一点,因为它回答了我问题中的“有没有更好的方法”部分。其他答案也很好,你的David是最简洁的版本。我个人更喜欢$(this)。children(“a:first”)。attr(“href”)
$('a:first',this)
将是一种简洁的方法,可以避免通过$
函数运行单击的li
。以这种方式提供上下文与find
完全相同。我已经投票支持“不要做什么你正在尝试做什么”的选择,但我认为这篇文章及其评论对于那些偶然发现这个问题的人来说是一个有效的文档,他们自己也有一个类似的问题,加比的回答不适用=)我个人更喜欢$(this.children(“a:first”).attr(“href”)$('a:first',this)
将是一种简洁的方法,可以避免通过$
函数运行单击的li
。以这种方式提供上下文与find
完全相同。我已经投票支持“不要做你想做的事”选项,但我认为这篇文章及其评论对于那些偶然发现这个问题的人来说是一份有效的文件,他们自己也有类似的问题,加比的回答不适用=)