如何从多个 get 元素中合并 html nodeList

how to combine html nodeList from multiple get elements

我想合并 html elements 并使用 array method 从中获取值 无论如何都可以做到这一点,我想我不知道如何将其合并为 nodeList

所以我使用 get elements 然后 array.unshift 将元素添加到一个变量中

var elemsLabel = document.querySelectorAll('[id$="LabelSet"]')
// TO achieve something like
// elemsLabel.unshift(document.getElementById('SubHeader'))
// elemsLabel.unshift(document.getElementById('Header'))

// This what I have tried so far
elemsLabel += Array.from(elemsLabel).unshift(document.getElementById('SubHeader'))
elemsLabel += Array.from(elemsLabel).unshift(document.getElementById('Header'))
// I think I stuck only this above part, so below after 'var values'_
// is the reason I need to combine them into one variable

console.log(elemsLabel)

var values = []
for (var z = 0; z < elemsLabel.length; z++) {
  values[z] = elemsLabel[z].value
}

console.log(values)
<input type="text" id="Header" value="head">
<input type="text" id="SubHeader" value="SubHeader">

<input type="text" id="docMyNameLabelSet" value="Name">
<input type="text" id="docMyIdLabelSet" value="Id">
<input type="text" id="docMyAddressLabelSet" value="Address">

所以结果应该是 ['head','SubHeader','Name','Id','Address']

提前致谢

代码正在使用 += 运算符将 elemsLabel 转换为字符串。在节点列表上使用扩展运算符 (...) 将其转换为数组。另外 .unshift() 不是 return 未移位的数组,而是添加的元素数。

var elemsLabel = [...document.querySelectorAll('[id$="LabelSet"]')]
elemsLabel.unshift(document.getElementById('SubHeader'))
elemsLabel.unshift(document.getElementById('Header'))
console.log(elemsLabel)

/*var values = []
for (let z = 0; z < elemsLabel.length; z++) {
  values[z] = elemsLabel[z].value
}

console.log(values)*/
console.log(elemsLabel.map(e => e.value))
<input type="text" id="Header" value="head">
<input type="text" id="SubHeader" value="SubHeader">

<input type="text" id="docMyNameLabelSet" value="Name">
<input type="text" id="docMyIdLabelSet" value="Id">
<input type="text" id="docMyAddressLabelSet" value="Address">