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

otherwise

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

className不是有效的 jQuery 属性。你应该currentQnDiv[0].className改用

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

body 可以替换为要附加此 div 的元素的 id。

于 2012-09-11T14:08:15.187 回答
0

class 真的应该在 "" 中吗?

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

只是我的想法,没有足够的时间自己测试它。

于 2012-09-11T14:06:48.273 回答