帮助我理解我的javascript有什么问题

时间:2010-10-28 22:23:24

标签: javascript jquery

如果我这样做 -

alert(anchor);

我明白了 -

  

“[object HTMLLIElement]”

...好吧,是的,这是我想要的元素。所以我想获得那些元素ID。

所以我测试它是这样的:

alert(anchor.attr("id"));

...但我没有得到任何警报,没有。我不能选择一个元素。我做错了什么,我不理解什么?

4 个答案:

答案 0 :(得分:8)

有两个问题:

  • .attr()是jQuery对象的函数,你有一个DOM元素(你需要$(anchor)来对元素使用jQuery方法。)
  • 无论如何你都不需要它,.id property会起作用(而且要快得多),就像这样:

 alert(anchor.id);

答案 1 :(得分:3)

那是因为attr不是anchor上定义的方法或属性。 anchor是原始HTML元素对象。它不是一个jQuery对象(我假设你使用的是jQuery,因为你使用了attr方法)。

要获取ID,您只需anchor.id即可。如果确实希望使用attr,您可以执行jQuery(anchor).attr("id")

答案 2 :(得分:3)

如果你正在使用jquery,那么你需要这个:

alert($(anchor).attr("id"));

答案 3 :(得分:2)

attr()函数是jQuery的一部分,但是你试图从一个普通的DOM对象中获取它。您要么使用$(anchor)(在jQuery中包装元素),要么调用anchor.getAttribute("id")