$('#clicker').click(function () {
collegeArray = ["Harvard", "Yale", "Princeton"];
alert(collegeArray.length);
for (var i = 0; i < collegeArray.length; i++) {
var divIdName = 'college' + i + 'Div'; //manuplating name of each div generated dynamically
var newdiv = document.createElement('div')
.setAttribute('id', divIdName) //setting the name of each div created dynamically
.html('<p>' + collegeArray.toString() + '</p>')
appendTo($(#'survey'));
}
});
上面的代码应在每次单击Clicker按钮时附加html,但它不起作用。我不确定我在做什么错
http://jsfiddle.net/HvJnH/19/
最佳答案
您正在尝试在原始DOM元素上使用jQuery方法。
var newdiv = $('<div/>')
.prop('id', divIdName) //setting the name of each div created dynamically
.html('<p>' + collegeArray.toString() + '</p>')
.appendTo($(#'survey'));
或者:
var newdiv = $('<div/>', {
id: divIdName,
html: '<p>' + collegeArray.toString() + '</p>'
}).appendTo('#survey');
编辑-同样,正如Shmiddty在评论中指出的那样,您绝对不应在多个元素上重复使用“ id”值。如果您出于某种目的要对元素进行分类,或者使用计数器或其他东西组成新的“ id”值,请使用“ class”属性。