Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将多个textarea元素中的所有文本放入一个数组?_Javascript_Jquery - Fatal编程技术网

Javascript 如何将多个textarea元素中的所有文本放入一个数组?

Javascript 如何将多个textarea元素中的所有文本放入一个数组?,javascript,jquery,Javascript,Jquery,我的页面上有3个textarea元素,将来可能会超过3个 我想从这些textarea字段中获取所有文本 如果我执行$('textarea').val()

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

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

如果我执行
$('textarea').val()textarea
的文本


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

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

var arr = $('textarea').map(function() {
     return $.trim(this.value);
}).get();
正如正确提到的,要将数组转换为字符串,可以使用方法


对这将得到一个包含所有值的数组。如果您想要一个组合字符串,您只需将结果
.join()
即可。请注意
$('textarea')
是一个包含DOM中所有
textarea
元素的对象,但直接将
.val()
方法应用于该对象只会返回该对象中第一个元素的值。这就是为什么您需要迭代对象中的所有元素,就像使用
.map()
.each()
方法一样。我在结尾没有使用get()的情况下尝试了您的答案,它似乎返回了与之相同的数组,get()的作用是什么?@sonnyhe2002现在它是一个jQuery包装的数组,可以对其调用所有jQuery方法。
var str = arr.join(); 
(function () {
    var arr = [];
    $('textarea').each(function () {
        arr.push(this.value);
    });
} ());