1

Javascriptを使用していくつかの<p>要素を追加しようとしています。div関数はループして、あらかじめ決められた量のこれらdivの を作成します。my idfor はdiv関数が実行されるたびに作成され、「div」と数字 (例: div1div2div3など) です。

これが私のコードです:

var divNum = 'div';

function myFunction () {
    var divTag = document.createElement("div");
    divTag.id = "div";
    divTag.className ="info";        
    document.body.appendChild(divTag);
    var idXX = divNum;
    $('#div').attr('id',idXX);

    var text = document.createElement("p");
    text.id = "1";
    text.className ="text1-2"; 
    text.innerHTML = "A";
    *"PROBLEM HERE"*.appendChild(text);

    divNum = divNum + 1;
 }

*"PROBLEM HERE"*私の質問は、それが私の vardivid等しいと言うところに何かをすることができますidXXか?

4

4 に答える 4

2

を使用するだけdivTagです。

その行は次のようになります。

divTag.appendChild(text);
于 2012-08-01T15:48:12.980 に答える
2

私は質問を誤解しているかもしれませんが、「PROBLEM HERE」行は次のようにすべきだと私には思えます:

$('#'+idXX).append(text); // literally doing what you asked

または単にこれ:

divTag.appendChild(text); // better approach since it doesn't have to go look for it.

また、div を作成してから ID を変更するのはなぜですか? また、divNumとして初期化され、おそらく意図されているようでは"div"ありません...0

于 2012-08-01T15:48:45.790 に答える
0

jQuery を使用し、ベースの JavaScript と混合しない場合:

var divNum = 'div';

function myFunction () {
    var divTag = $("<div>").
        .attr("id", divNum)
        .addClass("info");        
        .appendTo($("body"));
    $("<p>")
        .attr("id", "1")
        .addClass("test1-2")
        .html("A")
        .appendTo(divTag);

    divNum = divNum + 1;
 }
于 2012-08-01T15:51:59.133 に答える
0

jQueryを使用して属性IDを設定しているようです。

$('#div').attr('id',idXX);

jQueryですべてを実行できるはずです

var divNum = 0;
function myFunction() {
    var _p = $('<p>').text('A').addClass('text-1-2')
    $('<div>').attr({'id':'div'.concat(++divNum)}).addClass('info').html(_p).appendTo('body');
}
于 2012-08-01T15:54:18.847 に答える