【发布时间】:2014-03-08 07:48:38
【问题描述】:
我是一个菜鸟,通过一个练习来获取所有具有 alt 属性的 img 元素集合中的第一个元素。在 jQuery in Action 第 1 版的第 35 页,我在“Wrapped Set Lab”中输入以下命令:
$("img[alt]").get(0)
或者这个:
$("img[alt]")[0]
这两个命令都在控制台中给出了这个异常:
错误:TypeError Object# 没有方法 'addClass'
这是标记片段:
<div>
<img src="images/image.1.jpg" id="hibiscus" alt="Hibiscus"/>
<img src="images/image.2.jpg" id="littleBear" title="A dog named Little Bear"/>
<img src="images/image.3.jpg" id="verbena" alt="Verbena"/>
<img src="images/image.4.jpg" id="cozmo" title="A puppy named Cozmo"/>
<img src="images/image.5.jpg" id="tigerLily" alt="Tiger Lily"/>
<img src="images/image.6.jpg" id="coffeePot"/>
</div>
Yet another post in SOsuggested 这是正常的,并写信改用以下内容:
$("img[ALT]").eq(0)
有效并返回包装集中的 1 个元素: IMG#芙蓉
这本书的勘误表部分没有任何内容。 SO帖子的响应者解释说 “当您使用 [i] 之类的下标访问集合中的项目时,您实际上是从 jQuery 对象中解包它,并访问一个原始 DOM 节点,该节点没有 addClass 和 css 之类的方法”。
我是 jQuery 的新手,不理解这个错误,也不理解相关 SO 帖子中的解释。
【问题讨论】:
标签: javascript jquery html css