2013-01-09 5 views
0
$('#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')); 
} 
}); 

위 코드는 리모콘 버튼을 누를 때마다 html을 추가해야하지만 작동하지 않습니다. 나는 당신은 원시 DOM 요소에 jQuery를 방법을 사용하려는.html이 의도 한대로 작동하지 않습니다.

http://jsfiddle.net/HvJnH/19/

답변

4

내가 잘못 여기서 뭘하는지 모르겠어요. 또한

var newdiv = $('<div/>') 
    .prop('id', divIdName) //setting the name of each div created dynamically 
    .html('<p>' + collegeArray.toString() + '</p>') 
    .appendTo($(#'survey')); 

: Shmiddty 코멘트에서 지적 하듯

var newdiv = $('<div/>', { 
    id: divIdName, 
    html: '<p>' + collegeArray.toString() + '</p>' 
}).appendTo('#survey'); 

편집도 —, 당신은 확실히 다시 사용하지 말아야 "ID"값을 여러 요소에. 어떤 목적을 위해 요소를 분류하거나 카운터 등으로 새로운 "id"값을 구성하려면 "class"속성을 사용하십시오.

+1

또한 같은 반복하는 방법을 언급해야한다 신분증이 나쁘다. :) – Shmiddty

+0

@ Shmiddty 아 나는 그것을 알아 차리지 못했다. 당신 말이 맞아요. – Pointy

1

귀하의 #은 귀하의 설문 조사 선택 자의 귀하의 따옴표 밖에 있습니다. 당신은 또한 $('#survey')

을해야 할 때

당신은 당신은 일반 자바 스크립트 기능과 요소의 jQuery 기능을 혼합하고, $(#'survey') 있습니다.

1

일반 JS 요소에 jQuery 메서드를 사용하고 #을 따옴표로 묶는 등 몇 가지 문제가있었습니다.

$('#clicker').click(function() { 
    collegeArray = ["Harvard", "Yale", "Princeton"]; 
    for (var i = 0; i < collegeArray.length; i++) { 
     var divIdName = 'college' + i + 'Div'; //manuplating name of each div generated dynamically 
     var newdiv = $('<div></div>', { 
      id: divIdName 
     }) 
      .html('<p>' + collegeArray.toString() + '</p>') 
      .appendTo($('#survey')); 
    } 
}); 

Example fiddle

0

$('#clicker').click(function() { 
    collegeArray = ["Harvard", "Yale", "Princeton"]; 

    for (var i = 0; i < collegeArray.length; i++) { 
     var divIdName = 'college' + i + 'Div'; 
      $('<div></div>').attr('id', divIdName).html('<p>' + collegeArray.toString() + '</p>').appendTo($('#survey')); 
    } 
}); 
1

일부 수정 작업 following..Its을 시도하고 작동 할 수 있습니다 :이 시도

$('#clicker').click(function() { 
    var collegeArray = ["Harvard", "Yale", "Princeton"]; 
    for (var i = 0; i < collegeArray.length; i++) { 
     var divIdName = 'college' + i + 'Div'; 
     var newDiv = $("<div/>") 
      .attr("id", divIdName) 
      .html('<p>' + collegeArray[i] + '</p>'); 

     $("#survey").append(newDiv); 
    } 
}); 
+0

+1 OP가 아마 각각의 "대학"을 별도의 부서에서 원한다는 것을 알아 채기 위해서. – Shmiddty

관련 문제