jQuery .each css不是一个函数

ovm*_*vc4 5 html javascript css jquery

我有一个包含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" }
Run Code Online (Sandbox Code Playgroud)

我想更改每个CSS-Property,所​​以我做了这个:

elements.each(function(index, element) {
    element.css({
        "width": elemWidth,
        "height": elemHeight,
        "top": elemTop,
        "left": elemLeft
    });
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,我只是得到以下错误:

TypeError:element.css不是函数

我究竟做错了什么?我是否必须以其他方式访问我的元素?

提前致谢!

Dav*_*mas 18

问题是这element是一个DOM节点,无法访问jQuery方法,你需要使用的是:$(this)或者$(element):

elements.each(function(index, element) {
    $(this).css({
        "width": elemWidth,
        "height": elemHeight,
        "top": elemTop,
        "left": elemLeft
    });
}
Run Code Online (Sandbox Code Playgroud)

要么:

elements.each(function(index, element) {
    $(element).css({
        "width": elemWidth,
        "height": elemHeight,
        "top": elemTop,
        "left": elemLeft
    });
}
Run Code Online (Sandbox Code Playgroud)

或者你可以使用cssText(如果你真的想使用DOM节点):

elements.each(function(index, element) {
    element.style.cssText = 'width: ' + elemWidth + '; height: ' + elemHeight + ' top: ' + elemTop + '; left: ' + elemLeft;
}
Run Code Online (Sandbox Code Playgroud)

请记住,内部each(function (index, element){ ... }); elementthis(与推论$(this)相同$(element))完全相同.我根本不确定使用它的好处是什么element.