2012-06-17 6 views
0
index = 5; 
alert($('ul li:eq(index) a',context).html()); 

이 스크립트는 경고합니다사용 변수()

alert($('ul li:eq(5) a',context).html()); // it works 

그래서이 스크립트에 문제가 있나요?

답변

3

당신은 ... 변수 값이 아닌 index 문자열을 사용할 필요가

index = 5; 
alert($('ul li:eq(' + index + ') a',context).html()); 

더 읽을 많이 조금 빠른 버전은 다음과 같습니다 DOM 노드입니다

context 경우

$(context).find('ul li').eq(index).find('a').html() 

context 경우의 jQuery 객체는 다음과 같습니다

context.find('ul li').eq(index).find('a').html() 
+0

도움 주셔서 감사합니다. – Snoob

+0

@Snoob. 문제는 없지만 두 번째 옵션을 사용합니다. – gdoron

+0

Lol, 10 분 안에 anwser를 받아 들일 필요가 있지만, 30시에만 대답 – Snoob

5
alert($('ul li:eq('+index+') a',context).html()); 

당신이 'ul li:eq(index) a'을 사용할 때 결과 선택기 'ul li:eq(index) a' 인 동일하기 때문에.

하지만 'ul li:eq(' + index + ') a' 같은 문자열 연결을 사용할 때 JS 인터프리터가 index 변수의 값을 교체하고 새로운 캐릭터를 구축하기 때문에 결과 선택기 'ul li:eq(5) a'된다.

+0

@Snoob, 여러분을 진심으로 환영합니다. :) –