【发布时间】:2017-08-20 08:34:47
【问题描述】:
我想获取每个跨度的 text() 值。最好的情况是使用“事件”参数的解决方案。
$(document).ready(function () {
$('li').click(function (e) {
console.log($("span:nth-of-type(1n)").text());
console.log($("span:nth-of-type(2n)").text());
console.log($("span:nth-of-type(3n)").text());
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
<ul>
<li>
<span>li1 + span1</span>
<span>li1 + span2</span>
<span>li1 + span3</span>
</li>
<li>
<span>li2 + span1</span>
<span>li2 + span2</span>
<span>li3 + span3</span>
</li>
</ul>
</div>
如果您有任何想法,我将非常感谢您的工作 sn-p。
预期的输出是这样的:
let var1 = $("span:nth-of-type(1n)").text(); // li1 + span1
let var2 = $("span:nth-of-type(2n)").text(); // li1 + span2
let var3 = $("span:nth-of-type(3n)").text(); // li1 + span3
在 forEach-loop 解决方案中,我需要在每个循环中使用 span 的文本元素,而我没有。
【问题讨论】:
-
您的代码似乎可以正常工作。你有问题吗?你期望得到什么输出?
-
@RoryMcCrossan:不是真的,请注意第一个
console.log输出。 -
那是因为它获取了每个
1nspan 的文本。我知道这可能不是 OP 想要的,但他们没有指定他们 do 想要什么。我没有对你投反对票,仅供参考 -
@RoryMcCrossan 我会假设他们有三个以上的跨度标签或可变编号。我认为他们只想分别显示每个跨度的文本
-
它本身并不是真正的重复,因为我不是在寻找涉及 forEach 循环的解决方案来打印控制台内的所有结果,而是将每个跨度的 text() 值分配给本地多变的。有人可以帮忙吗?
标签: javascript jquery list event-handling