我需要获取调用函数的元素的id, 我有这样的div,
<div id="MainDiv"></div>
下面是jQuery代码,
当我保留一个断点并输入this
时,我会得到有关div的信息,但我不知道如何得到它的id,即this.id
$(document).ready(function () {
$("#MainDiv").Scrollit();
});
$.fn.Scrollit = function (e) {
alert(this.id);
};
答案 0 :(得分:3)
插件this
内部是指jQuery对象,而不是dom元素,因此它没有id
属性。
您可以使用.each()遍历jQuery对象并获取每个元素的属性 - 因为插件可以在包含多个元素的集合上初始化
$.fn.Scrollit = function (e) {
this.each(function () {
alert(this.id)
})
};
演示:Fiddle
尽管指点很少
如果您正在开发插件,请不要依赖于元素的id,使用选项或数据属性来传递信息
还返回jQuery对象以启用链接
$.fn.Scrollit = function (e) {
return this.each(function () {
alert(this.id)
})
};