我有点击时调用函数的链接:
<a href="javascript:spawnMenu(this);" id="link1">Test1</a>
为了使我的功能正常工作,我需要访问该对象,以便我可以执行这样的jQuery操作:
alert($(objCaller).offset().left);
由于objCaller
指向对象而不是对象ID,因此不起作用。我需要这样的东西:
alert($("a#link1").offset().left);
如何从objCaller
获取对象ID?
答案 0 :(得分:3)
你需要这样做:
<a href="javascript:;" onclick="spawnMenu(this);" id="link1">Test1</a>
您无法通过javascript:url传递this
。
答案 1 :(得分:2)
这不起作用吗?
objCaller.id
答案 2 :(得分:0)
我的头顶:alert($(this).offset().left);
无效吗?否则,您可以通过$(this).attr("id")
获取ID。
答案 3 :(得分:0)
从你的问题中不清楚objCaller所指的是什么。如果它引用了元素本身,那么$(objCaller)可以正常使用jQuery。
使用firebug(firefox的扩展)尝试使用您的代码。您可以将'alert'替换为'console.log',这样您就可以:
console.log(objCaller);
这将帮助您准确计算objCaller中存储的内容(如果$(objCaller)不起作用,它不是一个元素,正如我所说)。
如果objCaller是一个元素,那么objCaller.id将是检索id的方法。
答案 4 :(得分:0)
您可以通过以下方式获取ID:
function spawnMenu (elem) {
var id = elem.id; // elem is just a DOM node, so access it's id
// your code here...
}
但是,jQuery也应该能够包装一个DOM节点,因此以下内容也应该有效:
function spawnMenu (elem) {
elem = $(elem).get(0);
// your code here...
}