2012-02-20 13 views
5

Pobrałem sizzle.js z https://github.com/jquery/sizzle mojego kodu jest:jak używać sizzle.js oddzielny

<!DOCTYPE html> 
<html> 
<head> 
    <title>Demo</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <script src="sizzle.js" type="text/javascript"></script> 
    <script type="text/javascript"> 
     window.onload=load; 
     function load(){ 
      alert(Sizzle("#test")); 
      alert(Sizzle("#test").innerHTML); 
     } 
    </script> 
</head> 
<body> 
<div id="test">abc</div> 
</body> 
</html> 

ale alert "[object]", "nieokreślony", proszę mi powiedzieć, co się stało z moim kodzie?

Odpowiedz

6

Funkcja Sizzle() zwraca macierz z dopasowanych elementów. Więc jeśli wiesz, że będzie dokładnie jeden pasujący element (który powinien być, jeśli wybierasz według id), spróbuj:

alert(Sizzle("#test")[0].innerHTML); 
+0

dzięki, ale dlaczego select by id zwraca tablicę? w jquery wybierz przez id jest pojedynczym emelemt. – artwl

+6

Nie, w jQuery '$ (" # test ")' zwraca także tablicę (no, obiekt typu tablicowego). Po prostu w jQuery, gdy używasz metod jQuery do wyniku takiego jak '$ (" # test "). Html()' metody jQuery wiedzą, że mają do czynienia z tablicą, nie dają błędu, jeśli nic się nie zgadza, i dla metod, które zwracają wartość (jak '.html()'), jeśli więcej niż jeden element jest dopasowany, po prostu zwracają wartość z pierwszego. – nnnnnn

Powiązane problemy