Jquery не определено для jquery.parent (). Attr () - PullRequest
1 голос
/ 06 февраля 2012

Это родительский div, это HTML-шаблон, созданный с использованием Moustache.js

<div class="downloadReport" param ="{{#params}}{{id}}{{/params}}"><a href="#">
<img class="downloadMVReportFromAdmin" alt ="{{mainTitle}}" src="{{indexPageImageURL}}"  
/><br/>'
'<input type="button" id="{{id}}-button" value="Download"   
class="downloadMVReportFromAdmin" param="{{#params}}{{paramValue}}{{/params}}"/></a>
</div>'

Я пытаюсь использовать

$(.downloadMVReportFromAdmin).live('click',function(){
    var url = $(this).parent('.downloadReport').attr("param");
    alert(url);
}

Я получаю неопределенное значение для переменной URL-адреса IЯ просто следую синтаксису, заданному для jquery.parent () на сайте jquery.Пожалуйста, поправьте меня, если я неправ.

Ответы [ 2 ]

8 голосов
/ 06 февраля 2012

Вы должны использовать .closest вместо .parent

.parent соответствует только непосредственному родителю, тогда как .closest подходит к DOM, пока не найдет совпадение с вашим селектором.

1 голос
/ 06 февраля 2012

пропущены кавычки, и нужен еще один родительский вызов ()

$('.downloadMVReportFromAdmin').live('click',function(){
var url = $(this).parent().parent('.downloadReport').attr("param");
alert(url);
});
...