2012-05-11 2 views
1

jquery에서 특정 요소 id를 선택할 수있는 방법은 무엇입니까? 아니면 심지어 가능합니까?jquery find function

HTML :

<div id="bar"> 
    <a id="1" href="#"></a> 
    <a id="2" href="#"></a> 
    <a id="3" href="#"></a> 
    <a id="4" href="#"></a> 
    </div> 

Javascript: 


$('#bar a').find('id',2).css("background-color","blue"); 

하지만 나던 작업

답변

4

ID 은 고유 한이어야하므로 $('#2')을 사용하여 요소를 선택하십시오. ID 셀렉터를 좀 더 구체적으로 만들 필요가 없기 때문에 ID 셀렉터를 느리게 할 수 있습니다.

게다가 HTML5를 사용하지 않는 한 ID는 숫자로 시작할 수 없습니다. 예 : whatever-2 대신 2

0
$('#bar a#1') 

는 ID로 선택됩니다 '1'.

모두 # 1은 유효한 ID 이름이 아니며 숫자로 시작할 수 없습니다.

0

어느 후손

$('#bar').find('#2').css("background-color","blue"); 

을 찾거나 필터링 후손

$('#bar a').filter('#2').css("background-color","blue"); 

또는 컨텍스트를 통해 점점 :

var parent = $('#bar'); 
$('#2',parent).css("background-color","blue"); 

를 직접 그것을 얻을! (당신이 부모를 필요 이유입니다 페이지에 자주 요소를 이동하지 않는 한) ID를 어쨌든 고유 한 이후 :

$('#2').css("background-color","blue"); 
-2
$('#bar a [id=2]').css("background-color","blue"); 
+1

ID는 '# id'를 사용하여 선택됩니다. 속성 선택기를 사용하면 ID 선택기와 비교할 때 속도가 너무 느립니다. – ThiefMaster

0

당신은 인덱스로 가져 오기 요소 EQ 방법을 사용할 수 있습니다 http://api.jquery.com/eq/

$('#bar a').eq(2).css("background-color","blue"); 
0

id를 검색하는 데는 find()를 사용하지 않아도됩니다. 정의상 id는 고유해야하기 때문입니다. 부모 요소 내부에서 클래스 또는 html 태그 요소를 찾으려면 Find() 함수가 더 좋습니다. 문서에서 좋은 예 :..

$("p").find("span").css('color','red'); 
0

당신이 $ ("# 줄") 찾기 ("# 2") CSS를 시도해 볼 수도 있습니다 ("당신이 특정 요소 내부의 모든 스팬의 CSS를 변경하고자 할 때, 찾기를 사용 배경색 ","파란색 ");

ThiefMaster는 항상 $ ("# id")를 사용할 수 있다고 말합니다 .css ("background-color", "blue");