Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
帮助我了解我的javascript有什么问题_Javascript_Jquery - Fatal编程技术网

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

帮助我了解我的javascript有什么问题,javascript,jquery,Javascript,Jquery,如果我这样做- alert(anchor); 我明白了- “[对象元素]” 。。。好的,是的,这是我想要的元素。所以我想得到元素ID 所以我这样测试它: alert(anchor.attr("id")); 。。。但我没有任何警觉,什么都没有。我不能选择元素。我做错了什么,我不明白什么?这是因为attr不是锚点上定义的方法或属性锚定是一个原始HTML元素对象。它不是jQuery对象(我假设您使用jQuery是因为您使用了attr方法) 要获取id,只需anchor.id。如果您真的想使用att

如果我这样做-

alert(anchor);
我明白了-

“[对象元素]”

。。。好的,是的,这是我想要的元素。所以我想得到元素ID

所以我这样测试它:

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

。。。但我没有任何警觉,什么都没有。我不能选择元素。我做错了什么,我不明白什么?

这是因为
attr
不是
锚点上定义的方法或属性<代码>锚定
是一个原始HTML元素对象。它不是jQuery对象(我假设您使用jQuery是因为您使用了
attr
方法)


要获取id,只需
anchor.id
。如果您真的想使用
attr
,您可以执行
jQuery(anchor).attr(“id”)

函数是jQuery的一部分,但是您试图从普通DOM对象获取它。您可以使用
$(锚定)
(在jQuery中包装元素)或调用。

如果使用jQuery,则需要:

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

有两个问题:

  • 如果是jQuery对象所具有的函数,那么就有一个DOM元素(需要
    $(锚定)
    对元素使用jQuery方法)
  • 无论如何,您都不需要它,它将工作(并且速度更快),如下所示:


您正在使用jQuery吗?就像你的.attr语法一样,是的!看来我找到问题了。每个人都一针见血。此外,您应该真正使用控制台进行调试(
console.log
,而不是
alert()
)。警报要难得多。或者你的浏览器上内置的开发工具真的会有帮助。关于好的ole JavaScript的文档和关于
anchor.id
提速的jQuery+1如何。我厌倦了看到人们仅仅因为不了解框架的开销而编写低效的代码。
 alert(anchor.id);