JQuery如何获取控件ID

functionYearcheck(e,ctrlID){alert(e.id);alert($(this).attr("id"));}用e.id就没事,用$(this).... function Yearcheck(e, ctrlID) {
alert(e.id);
alert($(this).attr("id"));
}
用e.id就没事,用$(this).attr("id")就提示:undefined。
是语法不对吗?
我认为$(this)指的就是调用这个函数的控件本身。是不是我对$(this)的理解有误?
展开
 我来答
cainiaokan
推荐于2017-11-25 · TA获得超过2917个赞
知道小有建树答主
回答量:651
采纳率:66%
帮助的人:606万
展开全部
$(e).attr("id");
估计你Yearcheck方法的上下文是window。而不是页面某个元素。
你可以试试
function Yearcheck(e, ctrlID) {
var b = this === window;
alert(b?"this就是window":"this不是window");

}
最后肯定是弹出“this就是window”
更多追问追答
追问
确实提示:this就是windows
var b = this === window;这句话是什么意思?
追答
就是this跟window是同一个对象。

所以你调用$(window).attr("id")
当然取不到东西了。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
软时尚视觉
2012-12-11 · 超过17用户采纳过TA的回答
知道答主
回答量:62
采纳率:100%
帮助的人:17.5万
展开全部
比如:
<a id="btn_go" onclick="yearcheck(this)">XXX</a>
用$(this).attr("id");是有效的
更多追问追答
追问
我这里为什么无效呢?
追答
你把触发函数的控件写全看下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式