jQuery 将文本推送到数组

标签 jquery html arrays push

我只是想在单击添加按钮时推送 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/

相关文章:

javascript - 将不同的对象数组推送到另一个数组

jquery - 过滤 json 对象数组以获得唯一值

arrays - 如何创建 VBScript 多行数组?

c# - Jquery ui 对话框触发多个对话框问题

javascript - Jquery 和闭包或函数引用不起作用?

javascript - Rails Jquery 在其他页面上不起作用

javascript - 内容在 DIV 中无法正确显示

javascript - £ 在输入 [type=text] 上

html - Bootstrap CSS 在本地托管时无法正确加载字体

javascript - 有没有一种方法可以在不使用变量的情况下在普通 Javascript 中定义 HTML ID?