![](/img/trans.png)
[英]JavaScript Event Delegation not working. I want to toggle multiple elements. How I can do it?
[英]I have a form with select which creates elements. How I can do that elements creates only once?
我有JS代碼,可根據html創建段落和輸入元素。 但是我需要此代碼僅創建一次每個元素。
平安的Javascript代碼
function comFunction(sel) {
switch (sel.value) {
case 'skype':
var skype = document.createElement("P");
var temp = document.createTextNode("Enter your skype");
var input = document.createElement("input");
input.type = "text";
skype.appendChild(temp);
form.appendChild(skype);
form.appendChild(input);
break;
}
HTML代碼
<form id="form">
<select name="liason" id="liason" onchange="comFunction(this);">
<option value="skype">Skype</option>
<option value="icq">ICQ</option>
<option value="facebook">Facebook</option>
<option value="email">e-mail</option>
</select>
</form>
如果將id添加到要創建的元素中並附加到DOM,則可以在運行將再次創建它們的代碼之前檢查它們的存在:
function comFunction(sel) {
switch (sel.value) {
case 'skype':
if(document.getElementById("skypeParagraph") === null) {
var skype = document.createElement("P");
skype.setAttribute("id", "skypeParagraph");
var temp = document.createTextNode("Enter your skype");
var input = document.createElement("input");
input.type = "text";
skype.appendChild(temp);
form.appendChild(skype);
form.appendChild(input);
}
break;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.