2012-07-29 41 views
0

它是一個JavaScript腳本,添加一個<div></div>並添加一個id,一個類,html ..我想添加名稱attribut,我的代碼也不起作用,但我不知道爲什麼..無法更新的名稱attribut-javascript

https://developer.mozilla.org/fr/DOM/element我已經看到了element.name = 'newname';可以編輯..

function newgroup() { 
    var e = document.getElementsByName('group'); 
    var nb = e.length + 1 
    div = document.createElement("div"); 
    div.id = 'group'+nb; 
    div.className = 'panel_drop'; 
    div.name = '1'; 
    div.innerHTML = '<h5>Group '+nb+'</h5>'; 
    div.innerHTML += '<div class=\'drop_zone\'></div>'; 
    document.getElementById('groups').appendChild(div); 

} 
+0

爲什麼?名稱屬性在所有表單元素上都被棄用。 – austincheney 2012-07-29 13:46:47

回答

5

HTML元素的name屬性不會映射到相應的DOM元素的name財產所有元素,但僅限於某些類型的元素,而DIV元素不是其中之一。

您可以檢查哪些類型的HTML元素的屬性name這裏指定:http://www.whatwg.org/specs/web-apps/current-work/multipage//section-index.html#attributes-1

由於HTML標準沒有規定的DIV元素name屬性,我的建議是使用這樣的DIV元素的屬性/屬性。如果您需要將附加信息附加到您的DIV元素,請考慮data-*屬性。

3
div.setAttribute('name', '1'); 

div.getAttribute(「類」)也導出爲便利功能作爲的className屬性(具有impilicit setter和getter)的事實並不意味着它是一種處理DOM節點屬性名稱的一致方法。

順便說一句,可以考慮使用JavaScript框架,如jQuery,原型,MooTools的或YUI,有助於從長遠來看...

例如使用jQuery您可以通過changing themremoving them有屬性容易更好的控制