2 回答
TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊
您可以replace在再次添加到空對(duì)象之前使用。您也不需要Array.From在您datafeilds的querySelectorAll中使用默認(rèn)情況下返回nodes數(shù)組中的所有內(nèi)容。
運(yùn)行下面的代碼片段以查看它是否正常工作并全部替換。
function addproduct() {
var datafeilds = document.querySelectorAll("[id^='add-product-']")
var data = {};
datafeilds.forEach(function(field) {
//replace all add-products with ""
var replace = field.id.replace("add-product-", "");
//Push to data {}
data[replace] = field.value
});
console.log(data)
}
addproduct()
<input id='add-product-name' value="1" />
<input id='add-product-overlay1' value="1" />
<input id='add-product-overlay2' value="1" />
<input id='add-product-wholesale_price' value="1" />
<input id='add-product-delivery_price' value="1" />
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個(gè)贊
您的數(shù)據(jù)對(duì)象為空,因此訪問(wèn)其上的 field.id 屬性將返回未定義。所以你得到了上面的錯(cuò)誤。
關(guān)于前綴ID,您可以通過(guò)制作document.querySelectorAll("input[id^='prefixvalue']")
添加回答
舉報(bào)
