Javascript jQuery事件参数列表中范围的第n个子项
我想得到每个跨度的text()值。最好的情况是使用“事件”参数的解决方案Javascript jQuery事件参数列表中范围的第n个子项,javascript,jquery,list,event-handling,Javascript,Jquery,List,Event Handling,我想得到每个跨度的text()值。最好的情况是使用“事件”参数的解决方案 $(文档).ready(函数(){ $('li')。单击(函数(e){ console.log($((类型(1n)的第n个跨距)).text(); console.log($((类型(2n)的第n个跨距)).text(); console.log($((类型(3n)的第n个跨距)).text(); }); }); li1+span1 li1+span2 li1+span3 li2+span1 li2+span2
$(文档).ready(函数(){
$('li')。单击(函数(e){
console.log($((类型(1n)的第n个跨距)).text();
console.log($((类型(2n)的第n个跨距)).text();
console.log($((类型(3n)的第n个跨距)).text();
});
});代码>
-
li1+span1
li1+span2
li1+span3
-
li2+span1
li2+span2
li3+span3
最好的情况是使用“事件”参数的解决方案
你可以这样做,但没有必要在单击
回调中,此
将是事件挂接的li
元素。(但如果确实要使用事件参数,请参阅下面的第二个代码段。)
因此,我们可以使用$(this.find(“span”)
(所有子代)或$(this.children)(“span”)
(直接子代)在li
中循环跨度:
$(文档).ready(函数(){
$('li')。单击(函数(e){
$(this).children('span').each(function(){
console.log($(this.text());
});
});
});代码>
-
li1+span1
li1+span2
li1+span3
-
li2+span1
li2+span2
li3+span3
您的代码似乎正常工作。你对此有意见吗?您希望有什么输出?@RoryMcCrossan:不太可能,请注意第一个console.log
output。这是因为它获取每个1n
span的文本。我知道这可能不是OP想要的,但他们没有明确说明他们想要什么。我没有投你反对票FYI@RoryMcCrossan我假设它们有三个以上的span标记或一个可变数字。我想他们只是想分别显示每个span的文本。它本身并不是一个真正的副本,因为我不是在寻找一个涉及forEach循环的解决方案来打印控制台内的所有结果,而是将每个span的text()值分配给一个局部变量。有人能帮忙吗?我觉得很有用。我做了同样的回答,在发布之前我找到了你的答案+1是的,不太清楚为什么会被否决。我的答案也是一样,它完全符合要求,但会被否决。。。love this community@mr.void您刚刚复制了OP发布的代码。可能问题没有使用事件参数。我最初确实没有解决这个问题,所以我现在添加了这个。是的,投更多的票。。。对于所有说这不起作用或在这里返回空字符串的人,请使用小提琴。。。但是,是的,请投更多的反对票。li1+span1li1+span2li1+Span3Li1+span2li1+span3这不是我想要的输出,实际上是我在最初的帖子中的输出。啊,好的,我知道了,我更新了我的答案,很遗憾小提琴不起作用。
$(document).ready(function () {
$('li').click(function (e) {
var spans = $(this).find("span");
console.log($(spans[0]).text());
console.log($(spans[1]).text());
console.log($(spans[2]).text());
});
});