jquery 问题 在调用怎么获取this
<scripttype="text/javascript">$(document).ready(function(e){$("#haha").click(function...
<script type="text/javascript">
$(document).ready(function(e){
$("#haha").click(function(){demo();})
function demo()
{
alert($(this).attr("id"))
}
})
</script>
点击后并不能获取到id值,alert出了undifined
请问各位大侠怎么才能在调用函数的时候获取到被点击标签的属性啊 展开
$(document).ready(function(e){
$("#haha").click(function(){demo();})
function demo()
{
alert($(this).attr("id"))
}
})
</script>
点击后并不能获取到id值,alert出了undifined
请问各位大侠怎么才能在调用函数的时候获取到被点击标签的属性啊 展开
6个回答
展开全部
原因
demo所在域是window,所以demo里面的this表示window,不是id是haha的dom节点。如果需要知道点击对象,把this当做参数传入demo中
修改方法
<script type="text/javascript">
$(document).ready(function(e){
$("#haha").click(function(){demo(this);})
function demo(self)
{
alert(self.id)
}
})
</script>
展开全部
在你这句$("#haha").click(function(){demo();})里的demo把this穿过去,超出了click方法的范围就不存在当前元素了 $("#haha").click(function(){demo(this);})
demo方法改成
function demo(ele)
{
alert(ele.attr("id"))
}
demo方法改成
function demo(ele)
{
alert(ele.attr("id"))
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
<script type="text/javascript">
$(document).ready(function(e){
$("#haha").click(function(){
alert($(this).attr("id"))
});
});
</script>
$(document).ready(function(e){
$("#haha").click(function(){
alert($(this).attr("id"))
});
});
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var This = $(this);
这里This是jQuery对象,谁调用就指向谁。
这里This是jQuery对象,谁调用就指向谁。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$(document).ready(function(e){
$("#haha").click(function(){
demo(this);
})
function demo(obj){
alert(obj.attr("id"));
}
})
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询