繁体   English   中英

创建一个toggle data- *属性jQuery函数

[英]Creating a toggle data-* attributes jQuery function

我正在一个新项目上,并使用'data-js'属性。 我目前正在手动切换每个data-js属性,例如:

$(this).attr('data-js', $(this).attr('data-js') == 'unstar' ? 'star' : 'unstar')

我有一个“ shell”用于创建jQuery的插件样式扩展,如下所示:

!function($) {
            $.fn.toggleData = function(options) {
                var settings = $.extend({
                    someEvent: function() {
                        alert('default')
                    }
                }, options)

                return this.each(function() {
                    settings.someEvent()
                })
            }
        }(jQuery)

所以我基本上想要创建一个函数,该函数将为我提供以下内容,该函数可在所有data-js属性中重用:

$('[data-js=unstar]').click(function(){
    $(this).toggleData('unstar', 'star')

})

任何有关如何执行此操作或更好方法的想法!

这是您所追求的吗? 我只是将克隆放入其中,以演示它可用于所有未来的[data-js]数据类型。

$('body').on('click', '[data-js]', function () {

if ($(this).attr('data-js') == 'unstar' || $(this).attr('data-js') == 'star') {

    $(this).attr('data-js', $(this).attr('data-js') == 'unstar' ? 'star' : 'unstar');


    alert($(this).attr('data-js'));
    $(this).clone().insertAfter(this);

}
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM