我有3个成员的jQuery对象:
var elements = $("#" + this.wrapperName + ">ul>li>a>img");
Object { 0: <img>, 1: <img>, 2: <img>, length: 3, prevObject: Object, context: HTMLDocument → JSUmstellung, selector: "#newsdesk>ul>li>a>img" }
我想更改每个CSS属性,所以我这样做了:
elements.each(function(index, element) {
element.css({
"width": elemWidth,
"height": elemHeight,
"top": elemTop,
"left": elemLeft
});
}
当我运行此代码时,只会出现以下错误:
TypeError:element.css不是函数
我究竟做错了什么?我是否必须以其他方式访问我的元素?
提前致谢!
问题是,这element
是一个DOM节点,无法访问jQuery方法,您需要使用$(this)
或$(element)
:
elements.each(function(index, element) {
$(this).css({
"width": elemWidth,
"height": elemHeight,
"top": elemTop,
"left": elemLeft
});
}
要么:
elements.each(function(index, element) {
$(element).css({
"width": elemWidth,
"height": elemHeight,
"top": elemTop,
"left": elemLeft
});
}
或者,您也可以使用cssText
(如果您确实想使用DOM节点):
elements.each(function(index, element) {
element.style.cssText = 'width: ' + elemWidth + '; height: ' + elemHeight + ' top: ' + elemTop + '; left: ' + elemLeft;
}
请记住,内部each(function (index, element){ ... });
element
与完全相同this
(并且必然$(this)
与相同$(element)
)。我不确定使用到底有什么好处element
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句