2012-02-20 19 views
5

tôi tải sizzle.js từ https://github.com/jquery/sizzle mã của tôi là:làm thế nào để sử dụng sizzle.js riêng

<!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> 

nhưng cảnh báo "[đối tượng]", "không xác định", xin vui lòng cho tôi biết những gì sai với mã của tôi?

Trả lời

6

Hàm Sizzle() trả về một mảng của các phần tử phù hợp. Vì vậy, nếu bạn biết sẽ có chính xác một phần tử phù hợp (mà nên có nếu bạn đang chọn theo id) hãy thử:

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

cảm ơn, nhưng tại sao chọn theo id trả về một mảng? trong jquery select by id là một biểu tượng duy nhất. – artwl

+6

Không, trong jQuery '$ (" # test ")' cũng trả về một mảng (tốt, một đối tượng giống như mảng). Nó chỉ là trong jQuery khi bạn sử dụng các phương thức jQuery trên kết quả như '$ (" # test "). Html()' các phương thức jQuery biết chúng đang xử lý một mảng, chúng không đưa ra lỗi nếu không có gì khớp, và đối với các phương thức trả về một giá trị (như '.html()') nếu có nhiều hơn một phần tử phù hợp, chúng chỉ trả về giá trị từ giá trị đầu tiên. – nnnnnn

Các vấn đề liên quan