.attr("href")返回未定义
.attr("href") returning undefined
这是我的HTML 的简化版本
<div class="post-title-div">
<a href="link" class="post-title">Link</a>
</div>
<div></div>
<div>
<img class="eye-icon" src="link.jpg"/>
</div>
JavaScript:
$(".eye-icon").click(function(){
var link = $(this).parent('.post-title-div').find(".post-title").attr("href");
})
alert(link)
返回undefined,为什么?
$(this).parent('.post-title-div').find(".post-title")
自身返回[object Object]
Parent
/Parents
/Closest
不是您想要的:
$(".eye-icon").click(function(){
var link = $(this).parent().prev().prev().find(".post-title").attr("href");
alert(link)
})
你在那里没有共同的父母。
http://jsbin.com/tupeta/edit?html,js,输出
但是,我建议您添加一个新的容器,该容器将包含所有内容。类似于:
<div class='wrapper'>
<div class="post-title-div">
<a href="link" class="post-title">Link</a>
</div>
<div></div>
<div>
<img class="eye-icon" src="link.jpg"/>
</div>
</div>
所以现在你可以做:
$(".eye-icon").click(function(){
var link = $(this).closest('.wrapper').find(".post-title").attr("href");
alert(link)
})
<img>
的父级是围绕它的非脚本<div>
。jQuery随后在该div中查找'.post-title-div'
,但没有找到任何内容,并返回一个空选择器对象。在这个空选择器中,它会查找.post-title
,当然也找不到任何内容。然后,它尝试读取新的(也是空的(选择器上的一个属性,当然该选择器不能返回任何有用的内容。
$(this).parent('.post-title-div').find(".post-title")
返回[object Object]
的原因是因为jQuery选择器从不返回未定义的,它们总是返回另一个选择器,该选择器可以是空选择器。
相关文章:
- "日期“;AJAX请求返回的类型值未定义
- "这个“;正在返回未定义的
- 我对“;返回true"嵌套函数内部;t工作
- "navigator.msLaunchUri”;在IE Edge中,始终返回成功
- window.safari.pushNotification.requestPermission总是返回"拒绝
- Typeahead.js-特殊字符返回为“”&#230"等
- 如何在ajax中返回文本文件值Asynchronous"Synchronous正在被弃用”;
- 奇怪的行为angularjs返回"类型错误:无法分配给只读属性"
- 当我运行返回()时"":""Javascript中的语法,只有当我将文件保存为PHP
- 为什么"document.styleSheets”;每次刷新3到5次浏览器后返回空值
- 为什么element.getAttribute(“style”)忽略冒号“”之后的所有内容:"性格仅返回部分值
- 为什么var c=“;a“||"b”;返回c=“;a“;并且var c=“0”;a“&&"
- 将socket.io/socket.io.js加载到html头中返回"ReferenceError:io未定义
- "闭合的“;属性异常返回“;window.open”;在JavaScript&歌剧
- 带错误的Onsen UI导航:您不能提供no"ons页”;元素到“;ons导航器”;当返回第一页时
- document.getElementsByClassName().inerHTML总是返回"未定义”;
- "返回函数外的语句“-JavaScript错误
- Dojo.request.post-返回的promise说"拒绝”;,但服务器似乎已经接受了请求
- 为什么d3.json会返回"空”;
- Firefox getComputedStyle返回"自动”;