2

我的页面上有 3 个textarea元素,将来可能会超过 3 个。

我想从这些textarea字段中获取所有文本。

如果我$('textarea').val();在 chrome 控制台中执行,它只返回第一个textarea文本。

如何获取数组中所有元素的文本?

4

2 回答 2

3

jQuery getters 只返回第一个匹配元素的值,你应该遍历集合,你可以使用.map()在场景后面遍历集合并返回一个 jQuery 包装的数组的方法,通过调用.get()方法你可以得到实际的数组。

var arr = $('textarea').map(function() {
     return $.trim(this.value);
}).get();

正如Pointy正确提到的,要将数组转换为字符串,您可以使用.join()方法。

var str = arr.join(); 
于 2013-09-29T19:21:03.040 回答
3
(function () {
    var arr = [];
    $('textarea').each(function () {
        arr.push(this.value);
    });
} ());
于 2013-09-29T19:23:02.413 回答