[英]jQuery selector anchor inside div
我有以下HTML代码:
<div id="mycontainer">
<p> title </p>
<ul>
<li><span>**</span><a href="...">KEY</a></li>
</ul>
<ul>
...
</ul>
</div>
我如何获得KEY值? 换句话说,从id =“mycontainer”的div中,我将如何从第一个ul中获取元素的内容?
$("#mycontainer ul:first a").text();
在这里,有一个小提琴: http : //jsfiddle.net/8tvTt/
这样的事情将实现你所追求的目标:
$("#mycontainer ul:first a").text();
这有效:
$('#mycontainer ul:eq(0) a').text();
这也有效:(更具可读性)
$('#mycontainer ul:first a').text();
用这个:
$('#mycontainer a').text();
虽然很多现有的答案都会实现您所追求的目标,但我认为您真正需要的是(或者至少您真正需要的)是对jQuery选择器和DOM遍历的熟悉程度。
很多人似乎都假设你想要链接元素的内部文本,我不确定是这种情况。 如果没有提供此标记的变体而不关心选择器的速度,任何数量的答案都可以做你想要的,包括像$('a').text();
那样愚蠢的东西.text $('a').text();
因为它是你提供的标记中唯一的a
。 我们只能猜测情况。 了解每个答案的工作原理(以及为什么不成功的答案不起作用)以及原因更为有用。
选择器的特殊性是可取的,但是您必须权衡通过DOM实际成本高昂的成本和收益。 你会一直得到一个链接的文字内容吗? 它可能包含html吗? 你真的想要包装<a>
吗?
如果你只是想唯一的文字内容a
内部#mycontainer
,确保:
$("#mycontainer ul:first a").text();
但是$('#mycontainer').find('a').text();
可能会更快。 (等等, find()
什么find()
?,你问,为什么它会更快?)但是如果KEY的格式<strong>
,那么你想要将它继续用于你正在做的事情吗? 您可能希望使用.html()
代替。 如果你想要a
自己,为什么不:
$("#mycontainer ul:first a");
但是,如果每个li
有a?
$("#mycontainer ul:first li:first a").clone();
你也想要跨度吗?
$("#mycontainer ul:first li:first").clone();
要么
$("#mycontainer ul:first li:first").html();
你想要包装<li>
吗?
$("#mycontainer ul:first li:first").clone();
四处游玩,阅读更多,然后你不会让所有人(包括我自己)如此贪婪地为一些愚蠢,轻松的代表。
你需要读取jquery选择器...但是使用它
$('#mycontainer ul:first a').text();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.