我只是想在单击添加按钮时推送 li
元素的文本。但是当我单击“添加”按钮时,它将列表中的所有项目推送到数组中。我想这是因为我只是在使用一个类。解决这个问题的最佳方法是什么?提前致谢!
HTML
<div id="products">
<ul>
<li><p>Lorem 1</p><button class="target">Add</button></li>
<li><p>Lorem 2</p><button class="target">Add</button></li>
</ul>
</div>
jQuery
$(document).ready(function(){
var array = Array();
$(".target").click(function() {
$('p').each(function (i, e) {
array.push($(e).text());
});
console.log(array);
});
});
最佳答案
这个怎么样:
$(document).ready(function(){
var array = []; //Use the bracket notation instead.
$(".target").click(function(e) {
var p = $(this).closest('li').find('p');
array.push(p.text());
console.log(array);
});
});
基本上你想找到最近的li
附上您的.target
(被点击的那个)然后找到 li
中包含的段落.
关于jQuery 将文本推送到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15618846/