-1

だから私はJavascriptでULリストを作成しましたが、階層が正しくなりません...そして私は本当にお互いにdemを埋め込む方法を知りません...

これは私が苦労している外観です。

<div class="dice-toolbar-wrapper">
<ul>
<li class="add"></li>
<li class="remove"></li>
 <li class="roll"></li>
 <li>
 <ul class="dice-toolbar-counter-wrapper">
 <li class="zero"></li>
 <li class="zero"></li>
 </ul>
 </li>
 </ul>
 </div>

これが私がリストを作成する方法です。

  dice_toolbar_wrapper_close = createElementWithClass('div', 'dice-toolbar-wrapper');
    outerDiv.appendChild(dice_toolbar_wrapper_close);
    document.getElementById("page-content-wrapper");

     add_remove_roll = createElementWithOutClass('ul');
    dice_toolbar_wrapper_close.appendChild(add_remove_roll);
    document.getElementById("dice-content-wrapper");

しかし、これは私がページをレンダリングした後に得られるものです。

<div class="dice-toolbar-wrapper">
<ul>
<li class="add"></li>
<li class="remove"></li>
<li class="roll"></li>
</ul>
<ul class="dice-toolbar-counter-wrapper">
<li class="zero"></li>
</ul>
</ul>
</div>

liタグを変更する方法に関するヒントはありますか?

ありがとう

4

1 に答える 1

2

DOMを扱っているときは、(変数名から)考えているようにマークアップを扱っているのではなく、オブジェクトdice_toolbar_wrapper_closeを扱っているのです。「open」タグと「close」タグはなく、要素があります。

したがって、ul:を作成するには

var ul = document.createElement('ul');

その中に入れるにはli

var li = document.createElement('li');
ul.appendChild(li);

そして、インナーを作成してそれを:に入れたい場合もまったく同じです。ulli

var innerUl = document.createElement('ul');
li.appendChild(innerUl);

完全な例:ライブコピー| ソース

(function() {

  var outerUL, li, innerUL, thirdLI, index;

  outerUL = document.createElement('ul');
  for (index = 0; index < 5; ++index) {
    li = document.createElement('li');
    li.innerHTML = "Outer li #" + index;
    if (index === 2) {
      thirdLI = li;
    }
    outerUL.appendChild(li);
  }

  innerUL = document.createElement('ul');
  for (index = 0; index < 3; ++index) {
    li = document.createElement('li');
    li.innerHTML = "Inner li #" + index;
    innerUL.appendChild(li);
  }
  thirdLI.appendChild(innerUL);

  document.body.appendChild(outerUL);

})();
于 2013-02-02T22:55:13.677 に答える