2012-01-18 2 views
0

이 코드는 작동합니다JQuery - id 대신 변수를 사용하여 페이드 인합니까?

$(contentDiv).fadeIn("slow"); 

이되지 않습니다

var elementName = 'contentDiv'; 
$(elementName).fadeIn("slow"); 

없음 페이드 효과가 나타납니다.

내가 알고있는이 솔루션으로 바보처럼 느껴지지만 작동하지 못합니다.

$("#" + elementName).fadeIn("slow"); 

답변

2

클래스 또는 ID입니다

var elementName = '.contentDiv'; 
$(elementName).fadeIn("slow"); 

또는

var elementName = '#contentDiv'; 
$(elementName).fadeIn("slow"); 
1

은 요소의 name는 다음 사용할 필요가있다 나머지 셀렉터. contentDiv가 뭔가

$("[name='" + elementName + "']").fadeIn("slow"); 

경우 : 그것은 당신이 attribute selector에 삽입해야 속성 실제로 name의 값이면

$("#" + elementName").fadeIn("slow"); 

: contentDivid 경우, 그건 # 것 else (아마도 클래스), 선택기를 적절하게 변경해야합니다. selectors in the jQuery docs의 섹션을 시작하는 것이 좋습니다.

당신은 현재 당신이 원하는 것이 아니다 유형 "contentDiv"의 요소를 찾습니다 무엇을 가지고 :

당신은 'contentDiv'여부를 지정해야합니다
<contentDiv>This is an invalid element...</contentDiv> 
1

을 당신은 귀하의 문자열을 씁니다 : 당신이 사용할 필요가 다음 id을의 경우

$("[name=" + elementName + "]").fadeIn("slow"); 

을 : "contentDiv" 만약

1

contentDiv은 태그/요소가 아닙니다. 당신은 당신의 선택에 id 또는 class을 지정 잊고 :

var elementName = '#contentDiv'; 

또는

var elementName = '.contentDiv'; 

당신이 당신의 DIV (들)에 대한 class 또는 id 사용 여부에 따라 달라집니다.

1
var elementName = '#contentDiv'; 
$(elementName).fadeIn("slow"); 

#이 원인입니다.

1

이 코드는 작동합니다

$ (contentDiv).fadeIn ("느린");

을 사용하고 있지 않으면 작동하지 않아야합니다. IE는 ID가있는 HTML 요소에 대한 변수를 만드는 습관이 있습니다. (편집 : 크롬도 그렇게 할 것 같다).

커넥트 방법은 다음과 같습니다

var elementName = "contentDiv"; 
$("#" + elementName).fadeIn("slow");