在给出对象时获取对象的ID

时间:2010-03-29 16:16:42

标签: javascript html object

我有点击时调用函数的链接:

<a href="javascript:spawnMenu(this);" id="link1">Test1</a>

为了使我的功能正常工作,我需要访问该对象,以便我可以执行这样的jQuery操作:

alert($(objCaller).offset().left);

由于objCaller指向对象而不是对象ID,因此不起作用。我需要这样的东西:

alert($("a#link1").offset().left);

如何从objCaller获取对象ID?

5 个答案:

答案 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...
}