2013-04-22 3 views
1

div를 클래스 이름으로 생성 할 수 있습니까? 그렇지만 div에 ID를 부여하지 않고 참조 할 수 있습니까? 또는 생성 된 ID가 있어야합니까? 또한, 내가 div를 만드는 이유는 잠재적으로이 div가 모든 곳에서 반복 될 수있는 자신을위한 플러그인을 만들려고하기 때문입니다. 그러나 그 div를 참조하고 싶습니다. 예를 들어동적으로 새로 생성 된 div 클래스 참조하기

는 :

var newDiv = $("<div/>").addClass("newAdded"); 

$(parent).append(newDiv); 

$(newDiv).css("background","purple"); 

는 가능한 같은가요? 위의 코드가 작동하지 않는다는 것을 알고 있지만 잘하면 내 아이디어를 설명하는 데 도움이됩니다.

+1

코드가 작동합니다. – Paulpro

답변

1

기준이 유지됩니다

// Create a new div and maintain a reference to it 
var div = $("<div></div>").addClass("foo"); 

// Our div is a jQuery object 
div.appendTo(parent); 

// We still have a reference 
div.text("Text added after the appending has taken place"); 

바이올린 : 새 클래스를 추가하기 때문에 당신이 자바 스크립트 변수의 범위를 분실 한 경우 http://jsfiddle.net/jonathansampson/fwHAB/

+0

감사합니다. – Majo0od

+0

@Majed 내 기쁨. 중대한 질문입니다. 이러한 유형의 것들은 때때로 혼란 스러울 수 있습니다. 위대한 작업을 계속;) – Sampson

+0

안녕 샘슨, 내가 이것에 대해 재검토하고 있는데, div에 클래스를 추가하는 대신'.addClass()'함수를 사용했다는 것을 깨달았습니다. 그 이유가 있었습니까? 감사! – Majo0od

3

예, 가능하며이를 수행하는 적절한 방법입니다.

newDiv은 이미 jQuery 개체이므로, $(newDiv)이 아니라 단지 newDiv입니다.

newDiv.css("background","purple"); 
0

또한 append 문의 새 div를 참조 할 수도 있습니다.

$(parent).append(newDiv).css("background","purple"); 
0

당신은 또한 클래스에서 그 변수를 참조 할 수 있습니다 :

$('.newAdded').css("background","purple"); 
관련 문제