2013-07-26 57 views
3

您可以創建一個元素而不需要每次都這樣操作嗎?Javascript創建一個具有各種屬性的元素

var button = document.createElement('button'); 
button.class = codebuttons; 
button.value = Backup 

例如

document.querySelector('.right.Sub').appendChild(document.createElement("button").setAttribute("class", "codebuttons")); 
+0

你給的問題你的自我,並回答它tooo ......什麼留給我們。 –

回答

2

你「例如」的代碼是從上面的代碼非常不同,但都需要加以固定。

首先你的初始代碼。除了您需要使用.className來設置課程外,這將起作用。當然,你需要用引號來創建字符串。

var button = document.createElement('button'); 
button.className = "codebuttons"; 
button.value = "Backup"; 

其次,你的底代碼將無法工作,因爲你沒有追加的元素。您追加.setAttribute()的返回結果,即undefined

但是,您可以將.setAttribute()鏈接到.appendChild()的末尾,因爲它會返回附加的元素。

document.querySelector('.right.Sub') 
     .appendChild(document.createElement("button")) 
     .setAttribute("class", "codebuttons"); 

但是在設置"class"舊版本的IE問題用setAttribute()有。相反,請像第一個例子那樣設置屬性。

document.querySelector('.right.Sub') 
     .appendChild(document.createElement("button")) 
     .className = "codebuttons"; 
+0

有了這個代碼,我已經得到了唯一的類型,但沒有價值。 (「input」) .setAttribute(「type」,「button」) .setAttribute(「value」,「Backup」); document.querySelector('。right.Sub') .appendChild(document.createElement – Frostman

+0

當然,如果你需要設置多個屬性/屬性,那麼你應該將新元素保存到一個變量並設置它們。 –

相關問題