Jquery Galleria画廊在无限滚动后未正确加载

Jquery Galleria画廊在无限滚动后未正确加载,jquery,wordpress,infinite-scroll,galleria,Jquery,Wordpress,Infinite Scroll,Galleria,我有一个基于WordPress的网站,有几百篇帖子。每篇文章最多包含10幅图像。无限滚动用于自动加载更多帖子。我想要的是主页成为一个图片库页面;每个职位一个 以下是我所拥有的: 首先,我在post循环中添加库。我使用post ID创建唯一的Galleria ID。我还使用第二个类名将图像比率传递给JS(确定有更好的方法吗?) 此操作确实会再加载一组库,但在加载后失败,并出现以下错误: TypeError:$(…).attr(…)未定义 你知道我为什么会犯这样的错误吗?或者有更好的方法来解决这个问

我有一个基于WordPress的网站,有几百篇帖子。每篇文章最多包含10幅图像。无限滚动用于自动加载更多帖子。我想要的是主页成为一个图片库页面;每个职位一个

以下是我所拥有的:

首先,我在post循环中添加库。我使用post ID创建唯一的Galleria ID。我还使用第二个类名将图像比率传递给JS(确定有更好的方法吗?)

此操作确实会再加载一组库,但在加载后失败,并出现以下错误:

TypeError:$(…).attr(…)未定义


你知道我为什么会犯这样的错误吗?或者有更好的方法来解决这个问题吗。对于其他陷入类似问题的人。这就是我的结局:

HTML:

更新显示HTML5数据-属性,如我的评论中所述。

找到了更好的方法。。。使用我在Galleria div上创建了一个名为
data ratio
的属性,并在上面的JS中使用
var ratio=$(this.data('ratio'))获取它
<div id="galleria-1609" class="galleria 0.5">
    <a href="img01-800x400.jpg" alt="Large Image" ><img src="thumb.png" /></a>
    <a href="img02-800x400.jpg" alt="Large Image" ><img src="thumb.png" /></a>
</div>
<script>
    Galleria.run('#galleria-1609', {
        thumbnails: 'numbers',
        height: 0.5, /* ratio */
        preload: 1
    });
</script>
function loadSliders(arrayOfNewElems) {
    $(arrayOfNewElems).each(function( i ) {
        var newGal = $(this).find('.galleria');
        //extract ratio from 2nd class name:
        var ratio = $(newGal).attr('class').split(' ')[1];
        var thisID = '#'+ $(newGal).attr('id');

       Galleria.run(thisID, {
            thumbnails: 'numbers',
            height: ratio,
            preload: 1
        });
    });
}
<div id="galleria-1609" class="galleria" data-ratio="0.5">
    <a href="img01-800x400.jpg" alt="Large Image" ><img src="thumb.png" /></a>
    <a href="img02-800x400.jpg" alt="Large Image" ><img src="thumb.png" /></a>
</div>
function loadSliders(arrayOfNewElems) {
    $(arrayOfNewElems).each(function( i ) {
        $(this).find('.galleria').each(function( j ) {
            //var ratio = $(this).attr('class').split(' ')[1];
            //improved method:
            var ratio = $(this).data('ratio');
            var thisID = '#'+ $(this).attr('id');       
            Galleria.run(thisID, {
                    thumbnails: 'numbers',
                    height: ratio,
                    preload: 1
                });
        });
    });
}