javascript - jQuery .each css 不是函数

标签 javascript jquery html css

我有一个包含 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){ ... });elementthis 完全相同(并且,作为推论,$(this)$(element) 相同)。我不确定使用 element 有什么好处完全没有。

关于javascript - jQuery .each css 不是函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25141098/

相关文章:

jquery - 在按钮上单击以快速时间启动 youtube 视频。

javascript - 无法读取未定义的属性 'length' 很少发生

javascript - 使用 Javascript 隐藏 Javascript 或 CSS?

javascript - 同步(阻塞)ajax 调用可以阻塞浏览器的用户界面吗?

javascript - 使用 Javascript 从图像到图像(不是图像到白色到图像)淡入淡出

javascript - 您如何按字母顺序对段落标签或 TD 标签(例如)进行排序?

javascript - 模拟 DOM 元素的累积

jQuery:有没有更好的方法来切换两个div?

javascript - 在 Javascript 中将图像转换为二进制数据或字符串

javascript - Angular 2 TranslateService 检测语言变化