2012-07-29 40 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有属性容易更好的控制