jQuery .each CSS不是函数

ovmcit5eoivc4

我有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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章