无法更新的名称属性 - javascript

时间:2012-07-29 13:34:49

标签: javascript

这是javascript中添加<div></div>并添加id,类,html的脚本。我想添加名称attribut,我的代码不起作用,但我想知道为什么.. < / p>

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);

}

2 个答案:

答案 0 :(得分:5)

HTML元素的name属性未映射到所有元素的相应DOM元素的name属性,但仅适用于某些类型的元素,而DIV元素不是其中之一

您可以在此处检查指定name属性的HTML元素类型:http://www.whatwg.org/specs/web-apps/current-work/multipage//section-index.html#attributes-1

由于HTML标准没有为DIV元素指定name属性,我的建议是在DIV元素上使用这样的属性/属性。如果您需要将附加信息附加到DIV元素,请考虑data-*属性。

答案 1 :(得分:3)

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

div.getAttribute('class')的事实也作为 className 属性导出为便利函数(带有一个impilicit setter和getter)并不意味着它是处理DOM节点属性名称的一致方法。

BTW,考虑使用javascript框架,比如jQuery,Prototype,MooTools或YUI,从长远来看有帮助...

例如,使用Jquery,您可以通过changing themremoving them轻松更好地控制属性