【问题标题】:How to put all elements' content in array using jQuery ?如何使用 jQuery 将所有元素的内容放入数组中?
【发布时间】:2011-02-09 18:12:44
【问题描述】:
<div id="main">
<p>Text1</p>
<p>Text2</p>
<p>Text3</p>
</di>

结果应该是:

["text1","text2","text3"]

【问题讨论】:

    标签: javascript jquery arrays element


    【解决方案1】:

    jQuery 为此提供了.map()

    var items = $('#main p').map(function () { return $(this).text(); }).get();
    

    .map() 迭代其元素,在每个元素上调用一个函数,并将函数的返回值记录在一个新数组中,然后返回。

    你也可以用一个简单的.each()来解决这个问题:

    var items = [];
    
    $('#main p').each(function (i, e) {
      items.push($(e).text());
    });
    

    【讨论】:

    • 没有更简洁的方式
    【解决方案2】:

    这将起作用:

    var p = $('#main p').map(function () {
            return '"' + $(this).text() + '"';
        }).get().join(',');
        p = "[" + p + "]";
    

    map() 允许您遍历每个匹配项并从中获取一个值,该值被插入到类似数组的对象中。 get() 然后将其作为 Javascript 数组返回,然后 .join 将数组变成字符串。

    【讨论】:

      猜你喜欢
      • 2019-11-25
      • 1970-01-01
      • 2014-08-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多