2010-05-28 5 views
7

Почему the following code терпит неудачу с:JQuery .parent() не работает

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 />"); 
}); 

ответ

16

class_a_jquery_objects [0] является DOM-элемент, а не объект JQuery. Вы не можете вызвать с ним методы jQuery. Вы должны сначала обернуть его в объект JQuery:

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

class_a_jquery_objects.eq (0) .parent() должен работать как хорошо. – jAndy

+0

Большое спасибо за быстрый ответ! –

1

Вам нужно обернуть его с объектом JQuery

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