jquery获取不到父节点啊
我有一个点击事件,点击之后把这个元素的jq对象给另一个函数当参数,然后需要在这个函数里面获取到这个点击元素的父元素,获取不到。假如test是这个点击元素的对象然后我这样:...
我有一个点击事件,点击之后把这个元素的jq对象给另一个函数当参数,然后需要在这个函数里面获取到这个点击元素的父元素,获取不到。
假如test是这个点击元素的对象
然后我这样:$(test).parent();
test对象是一个a元素,有一个li元素包裹着它,那么它的父元素应该就是li了
我在上面那行js哪里用firebug断点,从监控里面看见,test对象的父元素确实是li
然后我在firebug里面用鼠标悬停的方式查看一下,鼠标悬停到test哪里时是a元素的对象,当我悬停我parent时,显示的却是window对象。
为什么?
监控和鼠标悬停时得到的元素对象不一样? 展开
假如test是这个点击元素的对象
然后我这样:$(test).parent();
test对象是一个a元素,有一个li元素包裹着它,那么它的父元素应该就是li了
我在上面那行js哪里用firebug断点,从监控里面看见,test对象的父元素确实是li
然后我在firebug里面用鼠标悬停的方式查看一下,鼠标悬停到test哪里时是a元素的对象,当我悬停我parent时,显示的却是window对象。
为什么?
监控和鼠标悬停时得到的元素对象不一样? 展开
3个回答
展开全部
<li class="parent"><a class="here">点击</a></li>
$(".here").click(function(){
test(this);
});
function test(obj){
alert($(obj).parent().attr("class"));
}
追问
我试过了,和我那一样的结果。
追答
你这描述的跟标题明显是两个不同概念嘛。
你说的那个firebug显示window对象,可能是jquery本身内部实现造成的,也可能是firebug的原因,不清楚;
你这样试试,设置断点,然后鼠标移到 t 这个参数,这时候t就是li这个object
function test(obj){
var t = $(obj).parent();
alert(t.attr("class"));
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请贴上完整的html,怎么测都是对的。
你测试的,alert($(obj).parent().attr("class"));会弹出什么?
你测试的,alert($(obj).parent().attr("class"));会弹出什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
请贴上代码
更多追问追答
追问
点击
$(".here").click(function(){
test($(this));
});
function test(obj){
alert($(obj).parent().attr("class"));
}
追答
<script language="javascript" type="text/javascript">
$(document).ready(function () {
$(".here").click(function () {
test(this);
});
function test(obj) {
alert($(obj).parent().attr("class"));
}
});
</script>
<li class="parent">
<a class="here">点击</a>
</li>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询