Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery事件参数列表中范围的第n个子项_Javascript_Jquery_List_Event Handling - Fatal编程技术网

Javascript jQuery事件参数列表中范围的第n个子项

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

我想得到每个跨度的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 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());
    });
});