对于这个npm,我正在寻找一种简单的方法来将元素获得的所有值推入数组。例如,到目前为止,我做到了:
func perform<T>(
_ expression: @autoclosure () throws -> T,
orThrow error: Error
) throws -> T { ...
但是,这实际上并不是按照元素的索引形式拼接元素,而是将它们分组为一个。如何通过将它们从“ $”中提取到数组的方式相应地对其进行分隔,例如:
let names = $(".productname")
let arr = []
arr.push(names.text())
而不是:
arr[0] = value1
arr[1] = value2
我的代码:
arr[0] = value1 value2 (concatenated)
}
答案 0 :(得分:1)
由于选择器包含所有具有“ productname”类的元素,因此您将需要遍历该集合以将每个元素的文本推入数组。
下面,我使用了jQuery的each()
。
'Barear ' + token
let names = $(".productname");
let arr = [];
$.each(names, function(k, v) {
arr.push($(v).text());
});
console.log(arr);
或者,您可以尝试map()
:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="productname">Test 1</div>
<div class="productname">Test 2</div>
<div class="productname">Test 3</div>
let names = $(".productname");
let arr = $.map(names, function(v) {
return $(v).text();
});
console.log(arr);
带有实际HTML的示例:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="productname">Test 1</div>
<div class="productname">Test 2</div>
<div class="productname">Test 3</div>
let names = $(".productname");
let arr = $.map(names, function(v) {
return $(v).text();
});
console.log(arr);
答案 1 :(得分:0)
使用map()
和get()
:
let arr = $(".productname").map((i, el) => $(el).text()).get()
使用each()
let arr = []
$(".productname").each((i, el) => arr.push($(el).text()))
其中的任何一个看起来对您来说都更好,我大致相同。