[英]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.