[英]Why I can't create an ID for my new select element?
我正在嘗試創建新的select
元素,將其附加到一個 div,然后用一些數據填充它。 問題是我每個下拉菜單都需要一個唯一的 ID。
我正在嘗試以下代碼:
var dropDowns = [];
for (var i = 0; i < data.results.length; i++) {
dropDowns[i] = $('<select id=\"data_\"' + i + '>').appendTo('.dropDowns');
for (var b = 0; b < data['data_' + data.results[i]].length; b++) {
dropDowns[i].append($("<option>").attr('value', data['data_' + data.results[i]][b].id).text(data['data_' + data.results[i]][b].description));
}
}
如您所見,我正在嘗試分配'data_' + i
,但我的元素如下所示:
<select id="data_" 0="">
但它應該看起來像:
<select id="data_0">
我知道我錯過了一些非常小的和基本的東西,但我真的無法發現它,作為一個 js 新手。
你能給我推一下嗎?
您將結束屬性值的 " 放在遞增變量之前而不是之后。
'<select id=\"data_\"' + i + '>'
應該
'<select id=\"data_' + i + '\">'
也就是說,動態生成的 ID 通常是一個壞主意。 您幾乎肯定會更好地保留對 JS 數組中元素的引用或根據其在 DOM 中的位置(例如myForm.querySelectorAll('select')[i]
)找到它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.