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
请问各位大侠怎么才能在调用函数的时候获取到被点击标签的属性啊
展开
 我来答
woshidaniel
2015-08-20 · TA获得超过9241个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:940万
展开全部

原因

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>
zgh26782000
2012-09-09 · TA获得超过1453个赞
知道小有建树答主
回答量:788
采纳率:0%
帮助的人:489万
展开全部
在你这句$("#haha").click(function(){demo();})里的demo把this穿过去,超出了click方法的范围就不存在当前元素了 $("#haha").click(function(){demo(this);})
demo方法改成
function demo(ele)
{
alert(ele.attr("id"))
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
badboy4539
2012-09-09 · TA获得超过219个赞
知道小有建树答主
回答量:329
采纳率:100%
帮助的人:204万
展开全部
<script type="text/javascript">
$(document).ready(function(e){
$("#haha").click(function(){
alert($(this).attr("id"))
});
});
</script>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纸艺
2015-07-10 · TA获得超过613个赞
知道小有建树答主
回答量:459
采纳率:100%
帮助的人:273万
展开全部
var This = $(this);
这里This是jQuery对象,谁调用就指向谁。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无腎青年
2015-08-07 · 超过27用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:35.6万
展开全部
$(document).ready(function(e){
    $("#haha").click(function(){
        demo(this);
    })
    function demo(obj){
        alert(obj.attr("id"));
    }
})
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式