我有一個簡單的應用程序,其中如果用戶按TAB或空格;一個新的輸入字段被添加到一個div元素。附加innerHTML創建第一個元素的差距
以下是用於保存輸入字段的div元素的一個片段:
<div class="container" id="container" onkeydown="KeyDown(event)">
<input type="text" maxlength="15" id="0"/>
</div>
以下是我使用添加輸入字段的JavaScript代碼:
function KeyDown(e) {
var container = document.getElementById("container");
if(e.which === 9 || e.which === 32) { //User pressed Tab or Space
container.innerHTML += "<input type='text' maxlength='15' id='0'/>";
}
}
該作品,但第一個和第二個文本輸入字段之間存在8像素的邊距/間距(比默認CSS多4px)。只有第一個輸入字段具有額外的4px頁邊距,即使該頁面的CSS和HTML在Chrome中的所有輸入字段中都是相同的。
問題是由具有以下的Javascript替換容器的innerHTML的固定:
if(c === 1) { //c is the number/count of input elements
container.innerHTML = "<input type='text' maxlength='15' id='0'/>";
}
...
c++;
,同時用HTML加入初始輸入字段,與更換innerHTML的和他們爲什麼會發生這種情況增量每個輸入字段?
感謝您的答覆。我真的不知道數字值不能單獨作爲id使用 - 在我只在特定項目中使用數字值之前指出它的好處。 – AquaGeneral