1

うーん、私がここで見たすべての答えは、これがうまくいくはずだと示唆していますが...

は...

    var qnDivName = "qnDiv" + i;
    var currentQnDiv = document.createElement("div");
    var qnDivId = document.createAttribute("id");
    qnDivId.nodeValue = qnDivName;
    currentQnDiv.setAttributeNode(qnDivId);
    currentQnDiv.className = "questionContainer";

に相当...

    var currentQnDiv = $("<div/>", {
        "class": "questionContainer",
        id: "qnDiv" + i
    });
    alert("qndiv class: " + currentQnDiv.className);

アラートは「未定義」を示します。'i'はforループからのものです。ページのさらに下のドキュメントに添付するdivを動的に作成しています...

    testDiv.appendChild(currentQnDiv);      
  } //end for loop

通常のjsは機能しますが、jQueryは機能しません。呼び出し元の関数で機能する他のjQueryがあるので、...

何か案は?

4

5 に答える 5

2

使用する

alert("qndiv class: " + currentQnDiv.get(0).className);

currentQnDivオブジェクトはjQueryコレクションであり、基本的なDomオブジェクトではありません。

于 2012-09-11T14:05:07.047 に答える
1
$("<div/>").addClass("questionContainer")
           .attr("qnDiv" + i).appendTo("body");

bodyこのdivを追加する要素のidに置き換えることができます。

于 2012-09-11T14:08:15.187 に答える
1

classNameは有効なjQueryプロパティではありません。currentQnDiv[0].className代わりに使用する必要があります

于 2012-09-11T14:05:29.743 に答える
1

そうでなければ

var currentQnDiv = $("<div/>");
currentQnDiv.addClass("questionContainer");
currentQnDiv.attr("qnDiv" + i).appendTo("body");
于 2012-09-11T14:12:48.230 に答える
0

クラスは本当に""にあるべきですか?

var currentQnDiv = $("<div/>", {
    class: "questionContainer",
    id: "qnDiv" + i
});

自分でテストするのに十分な時間ではありません。

于 2012-09-11T14:06:48.273 に答える