6

動的に div を生成していますが、動的に生成された div が存在するかどうかを確認する必要がありますか? どうやってやるの?

現在、動的に生成された div を検出しない以下を使用しています。HTML テンプレートに含まれる id を持つ要素が既に存在するかどうかのみを検出します。

$(function() {
    var $mydiv = $("#liveGraph_id");
    if ($mydiv.length){
        alert("HHH");
    }
});

動的に生成された div を検出するにはどうすればよいですか?

4

5 に答える 5

0

Just for interest, you can also use a live collection for this (they are provided as part of the DOM). You can setup a collection of all divs in the page (this can be done in the head even before the body is loaded):

var allDivs = document.getElementsByTagName('div');

Any div with an id is available as a named property of the collection, so you can do:

if (allDivs.someId) {
  // div with someId exists
}

If the ID isn't a valid identifier, or it's held in a variable, use square bracket notation. Some play code:

<button onclick="
  alert(!!allDivs.newDiv);
">Check for div</button>
<button onclick="
  var div = document.createElement('div');
  div.id = 'newDiv';
  document.body.appendChild(div);
">Add div</button>

Click the Check for div button and you'll get false. Add the div by clicking the Add div button and check again—you'll get true.

于 2013-09-11T02:25:40.520 に答える