jQuery 追加不起作用

标签 jquery

我有以下代码:

for ( j = 0; j < albums[0].imagesNumber; j++ ) {
    k = albums[0].imagesNumber * 170;
    $('.body-album-expanded-inner').css({ width: k + 'px' });
    document.getElementsByClassName('body-album-expanded-inner')[0].
    appendChild(albumsImages[0][j]);
}

哪里albumsImages包含一些imagesalbums[].imagesNumber只是告诉我 album 中有多少张图像。当我使用 javascript 的appendChild 时,一切工作正常,但是当我使用 jQuery 的append 时,如下所示:

$('.body-album-expanded-inner')[0].
    append(albumsImages[0][j]);

它给了我这个错误:

TypeError: $(...)[0].append is not a function

最佳答案

这是因为您使用的索引器会转换为原生 DOM 元素。使用eq(0)first()

$('.body-album-expanded-inner').eq(j). // or simply first()
    append(albumsImages[0][j]);

另一个选择是用 jQuery 再次包装它,但这有点过头了。不管怎样

$($('.body-album-expanded-inner')[j]). //now it's jQuery since its wrapped inside $()
    append(albumsImages[0][j]);

如果它是单个元素,那么您不需要任何东西,只需使用 append

jQuery接受原生 DOM 元素并给出 jQuery具有诸如 append 之类的方法的对象,但不是appendChild ,同样原生元素不会有 jQuery具体方法如append但只有appendChild .

关于jQuery 追加不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27382669/

相关文章:

javascript - jQuery $.get 有时有效,有时无效?

javascript - 我什么时候应该在 knockout 中使用括号

javascript - 检索搜索结果中两个最大的评分

javascript - 使用动态数据 json 初始化 isotope

javascript - 如何浏览这个 JSON 对象并获取它的值?

javascript - math.js 中的变量名和限制运算符

JQuery - 可点击的表格行,最后一个单元格除外

javascript - 根据用户输入发送参数

javascript - 当 div 具有绝对定位的子 div 时,获取 div 的 "scrollWidth"

javascript - 如何在两个链接之间使用 toggleClass 方法