2010-05-28 36 views
7

Tại sao the following code không thành công với:jQuery .parent() không hoạt động

Error: class_a_jquery_objects[0].parent is not a function

?

HTML:

<div> 
    <div class='a b'></div> 
    <div class='b c'></div> 
    <div class='c a'></div> 
</div>  
<div id='log'></div> 

JS:

$(function() { 
    var class_a_jquery_objects = $(".a"); 

    $("#log").append(class_a_jquery_objects.length + "<br />"); 
    $("#log").append(class_a_jquery_objects[0] + "<br />"); 
    $("#log").append(class_a_jquery_objects[0].parent() + "<br />"); 
}); 

Trả lời

16

class_a_jquery_objects [0] là một phần tử DOM và không phải là một đối tượng jQuery. Bạn không thể gọi các phương thức jQuery với nó. Bạn cần phải đầu tiên quấn nó trong một đối tượng jQuery:

$(class_a_jquery_objects[0]).parent() 
+1

class_a_jquery_objects.eq (0) .parent() nên làm việc là tốt. – jAndy

+0

Cảm ơn rất nhiều vì câu trả lời nhanh chóng! –

1

Bạn cần phải quấn nó với đối tượng JQuery

$("#log").append($(class_a_jquery_objects[0]).parent() + "<br />"); 
Các vấn đề liên quan