我有一个包含 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 is not a function
我做错了什么?我必须以其他方式访问我的元素吗?
提前致谢!
最佳答案
问题是 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
有什么好处完全没有。
关于javascript - jQuery .each css 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141098/