2012-05-11 90 views
15

Próbowałem tego poniżej. Myślę, że obiekt powrotu obiektu $ ("div.tab_select") [0] nie jest obiektem jQuery, ale nie mogę nawet użyć czystej metody javascript.selektor jquery dla div z klasą

Czy istnieje sposób, aby uczynić go obiektem jQuery? na przykład $ ($ ("div.tab_select") [0]) .. Wiem, że to głupie;

Dziękuję za przeczytanie.

var tmp = $("div.tab_select")[0]; 
alert(tmp); //This gives me HTMLDivElement collectly. But I can't use any of javascript.. 

alert(tmp.nodeName); //But this give me error "Uncaught TypeError: Cannot read property 'nodeName' of undefined" 

tmp.hide(); //Neither, I can't use this. 
+2

Spróbuj 'var tmp = $ ("div.tab_select: najpierw");' lub 'var tmp = $ ("div.tab_select: eq (0)"); ' – j08691

Odpowiedz

24
// all divs with tab_select class 
$('div.tab_select') 

// first div with tab_select class 
$('div.tab_select:first') 

// or 
$('div.tab_select').first() 

// or 
$('div.tab_select:eq(0)') 

// or 
$('div.tab_select').eq(0) 
1

jeśli chcesz jQuery obiektu korzystanie var tmp = $("div.tab_select:first") zamiast.

var tmp = $("div.tab_select")[0] zwróci elementu DOM (jeśli istnieje)

1

Wystarczy zrobić $(tmp). [0] daje element HTML, a nie instancję JQuery.

0

Przeczytałem gdzieś, że selektory css są szybsze.

$('div.tab_select:nth-child(n)').<method> 

oto e.g.