0

これは、id、クラス、html を追加して追加する JavaScript のスクリプト<div></div>です。名前属性も追加したいのですが、コードが機能しませんが、なぜだろうか..

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

}
4

2 に答える 2

5

nameHTML要素の属性は、nameすべての要素の対応するDOM要素のプロパティにマップされませんが、特定のタイプの要素に対してのみマップされ、DIV要素はそれらの1つではありません。

name属性が指定されているHTML要素のタイプを確認できます: http ://www.whatwg.org/specs/web-apps/current-work/multipage//section-index.html#attributes-1

HTML標準ではDIV要素の属性が指定されていないため、DIV要素でそのような属性/プロパティを使用しないnameことをお勧めします。DIV要素に追加情報を添付する必要がある場合は、属性を検討してください。data-*

于 2012-07-29T13:38:30.610 に答える
3
div.setAttribute('name', '1');

div.getAttribute('class')が便利な関数としてclassNameプロパティ(暗黙のセッターとゲッターを含む)としてもエクスポートされるという事実は、それがDOMノードのプロパティ名を処理する一貫した方法であることを意味しません。

ところで、jQuery、Prototype、MooTools、YUIなどのjavascriptフレームワークの使用を検討すると、長期的には役立ちます...

たとえば、Jqueryを使用すると、属性を変更または削除することで、属性を簡単に細かく制御できます。

于 2012-07-29T13:39:10.640 に答える