jquery 未定义 jquery.parent().attr()

标签 jquery mustache

这是父 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() 给出的语法。如有错误请指正。

最佳答案

您应该使用.closest而不是.parent

.parent 仅匹配直接父级,而 .closest 会遍历 DOM,直到找到与您的选择器匹配的匹配项。

关于jquery 未定义 jquery.parent().attr(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9165245/

相关文章:

javascript - jQuery 在悬停时打开 div;自动滚动

javascript - 如何获取所有带有 "click"事件的元素与 jQuery 相关联?

php - dropzone.js 不将文件移动到上传文件夹

Jquery - Resonse.statusText 未定义,即使它显示在浏览器工具中

javascript - 如何使用 Mustache 模板向下拉列表添加选项?

asp.net - 带有 JSON 集合的 Mustache JS 模板

javascript - Mustache.js - 使用 $get() 获取外部模板数据时出现问题

javascript - onchange 禁用所有选择框

javascript - 如何处理 Hogan 中的多元化

node.js - Node 中的 Mustache 和 Express