“css”方法不适用于html图像元素

时间:2014-01-18 16:52:26

标签: jquery html5

HTML:

<img src="image/wall.jpg" style="position:absolute;top:80%;left:19%" class = "wall">
<img src="image/wall.jpg"  style="position:absolute;top:20%;left:36%" class ="wall">
<img src="image/wall.jpg"  style="position:absolute;top:50%;left:57%" class = "wall">
<img src="image/wall.jpg"  style="position:absolute;top:30%;left:76%" class = "wall">

Jquery的:

var wal =$(".wall");
alert(wal[2].css("left"));

当我执行此代码控制台时显示错误“Uncaught TypeError: Object #<HTMLImageElement> has no method 'css'”。为什么控制台会出现此错误?什么是解决方案?

2 个答案:

答案 0 :(得分:3)

css()是一个jquery方法,使用eq()代替它返回一个jQuery对象:

wal.eq(2).css("left")

wal[2]返回一个DOM节点{因为jQuery对象是一个类似于数组的对象},它解释了你的问题。

答案 1 :(得分:1)

一个。 Wolff的解决方案当然会有效,但我知道的方法之一就是

var left1 = $(wal[0]).css("left");
var left2 = $(wal[1]).css("left");
var left3 = $(wal[2]).css("left");
var left4 = $(wal[3]).css("left");

小提琴:http://jsfiddle.net/naW7Z/