映射为复选框jquery旁边的范围返回没有文本

时间:2017-02-08 22:15:55

标签: jquery html dictionary text

我正在使用map函数返回单击复选框后的span文本。它不返回任何输出。

<label class="hello">
  <input type="checkbox" name="chk" value="1">
  <img src="test1.png">
  <span>test-1</span>
</label>
<label class="hello">
  <input type="checkbox" name="chk" value="2" checked>
  <img src="test2.png">      
  <span>test-2</span>
</label>
<label class="hello">
  <input type="checkbox" name="chk" value="3" checked>
  <img src="test3.png">
  <span>test-3</span>
</label>

checked = [];

$('.hello').change(function() {
     checked = $('.hello input:checked').map(
         function() { return $(this).next('span').text(); }).get();
     alert(checked);
});

提醒返回&#39; ,,&#39;。

1 个答案:

答案 0 :(得分:0)

如果匹配,jQuery的下一个将返回'紧随兄弟之后'。紧跟在您的复选框后面的元素不是span,它是img标记。 .siblings()函数应该可以工作。