$('#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”属性。

10-04 21:48