Attrchange Library无法在.each()内工作

时间:2017-08-31 20:27:17

标签: jquery jquery-ui

我在HTML中有一个项目列表:

<ul>
    <li class="pagination_element current">1</li>
    <li class="pagination_element">2</li>
    <li class="pagination_element">3</li>
    <li class="pagination_element">4</li>
    <li class="pagination_element">5</li>
</ul>

在某些外部条件下,&#34;当前&#34; class将在各种LI标记之间切换。我的射击是为了能够在课堂变化时随时观察这些项目,然后确定哪一个是&#34;当前&#34;在任何给定的时间。

我正在使用名为attrchange(http://meetselva.github.io/)的库,它应该能够在类更改时执行回调函数。

这是我的JS:

jQuery('.pagination_element').each(function() {

    console.log(jQuery(this));

    jQuery(this).attrchange({
        trackValues: true,
        callback: function (event) {
            console.log('here!');
            console.log('Attribute Name: ' + event.attributeName + ' Prev Value: ' + event.oldValue + ' New Value: ' + event.newValue);
        }
    });

});

console.log(jQuery(this));工作正常,每个LI输出到控制台。不工作的部分是attrchange()。当&#34;当前&#34; LI上的类更改,没有任何内容记录到控制台。

我按顺序包含了jQuery,jQueryUI,attrchange.js和attrchange_ext.js,并且这些都已成功加载。

1 个答案:

答案 0 :(得分:0)

试试这个:

 $('.pagination_element').attrchange({
        trackValues: true,
        callback: function (event) {
            console.log('here!');
            console.log('Attribute Name: ' + event.attributeName + ' Prev Value: ' + event.oldValue + ' New Value: ' + event.newValue);
        }
});

Example