2009-08-16 74 views
0

我头痛地尝试做这件事:我有一个<a>元素,使用style =“”属性定义的图像,并且我已经提供了一个函数,用于处理具有不透明度更改的悬停效果的不同背景位置的<元素元素<范围>。问题是,我需要得到相同的样式属性的每个 <一个>元素每个孩子<跨度>但只有第一个背景图像被复制到所有的<跨度>元素,即使使用$( “span.hover”)。parent()。attr(“style”) as selector!jQuery - .each()仅返回第一个元素属性,需要存储每个元素属性并在每个子元素中使用

http://pastebin.me/ac4cc52af64f6e831366ca61c7bbe63b

在上面,你可以看到它的样子,看到它正常工作。

+0

Omg,非常感谢Greg!我花了整整一晚的时间来弄清楚这一点,我即将放弃!谢谢! – Samuel 2009-08-16 13:41:51

+0

我已经优化了脚本并删除了几行,现在它工作的很快,IE8正确渲染 - http://pastebin.me/c421b31f354f6630dd71cc5dff95665d – Samuel 2009-08-16 15:40:02

回答

4

此:

var $ans = $("span.hover").parent().attr("style"); 

应该

var $ans = $(this).parent().attr("style"); 

你重新获得每一次,它给你的第一个所有的跨度。

测试&工作。

+0

这是人们用'each'所做的最常见的错误之一。 – MitMaro 2009-08-16 13:23:31

相关问题