这是父div,它是使用Moustache.js
创建的html模板<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获取了未定义的值 我只是遵循jquery站点中为jquery.parent()提供的语法。如果我错了,请纠正我。
答案 0 :(得分:8)
您应该使用.closest
代替.parent
.parent
仅匹配直接父级,而.closest
会在DOM上查找,直到找到与您的选择器匹配的内容。
答案 1 :(得分:1)
缺少引号,需要另一个parent()调用
$('.downloadMVReportFromAdmin').live('click',function(){
var url = $(this).parent().parent('.downloadReport').attr("param");
alert(url);
});