Jquery Onclick切换数据属性

Jquery Onclick切换数据属性,jquery,Jquery,是否可以使用Jquery在单击时切换数据属性(例如数据均衡器监视) 以下是html: <a class="accordion-expander" href="#" data-equalizer-watch> 只需使用JQuery中的.data()方法将数据均衡器监视值设置为false,即可进行切换 $(this).data("equalizer-watch", false); 但是,如果要将其从显示中删除,只需执行以下操作: $(this).removeAttr("data-e

是否可以使用Jquery在单击时切换数据属性(例如
数据均衡器监视

以下是html:

<a class="accordion-expander" href="#" data-equalizer-watch>

只需使用JQuery中的
.data()
方法将
数据均衡器监视
值设置为
false
,即可进行切换

 $(this).data("equalizer-watch", false);
但是,如果要将其从显示中删除,只需执行以下操作:

$(this).removeAttr("data-equalizer-watch");

如果使用
.attr()
方法更改值,则不会呈现
数据
。必须使用
.data()
方法设置
数据
属性以重新呈现它。

只需使用JQuery中的
.data()
方法将
数据均衡器监视
值设置为

 $(this).data("equalizer-watch", false);
但是,如果要将其从显示中删除,只需执行以下操作:

$(this).removeAttr("data-equalizer-watch");

如果使用
.attr()
方法更改值,则不会呈现
数据
。必须使用
.data()
方法设置
数据
属性以重新呈现它。

若要执行此操作,可以在
attr()
removeAttr()之间来回切换
方法调用取决于单击元素时元素是否具有属性:

$(“.accordion expander”)。单击(函数(e){
e、 预防默认值();
var method=$(this).is(“[数据均衡器监视]”)?“removeAttr”:“attr”;
$(此[方法]('data-equalizer-watch','');
});
a[数据均衡器监视]{
颜色:#C00;
}

要执行此操作,您可以根据单击元素时是否具有属性,在
attr()
removeAttr()方法调用之间来回切换:

$(“.accordion expander”)。单击(函数(e){
e、 预防默认值();
var method=$(this).is(“[数据均衡器监视]”)?“removeAttr”:“attr”;
$(此[方法]('data-equalizer-watch','');
});
a[数据均衡器监视]{
颜色:#C00;
}

.toggleData()
不是默认的jQuery方法,因此,让我们创建一个

而不是在迷你插件中使用jQuery的和方法

$.fn.toggleData=函数(dname){
var d=`data-${dname}`;
返回this.is(`[${d}]`)?this.removeAttr(d):this.attr(d');
};
$(“.accordion expander”)。单击(函数(e){
e、 预防默认值();
$(this.toggleData('equalizer-watch');
});
[数据均衡器手表]{颜色:紫红色;}

.toggleData()
不是默认的jQuery方法,因此,让我们创建一个

而不是在迷你插件中使用jQuery的和方法

$.fn.toggleData=函数(dname){
var d=`data-${dname}`;
返回this.is(`[${d}]`)?this.removeAttr(d):this.attr(d');
};
$(“.accordion expander”)。单击(函数(e){
e、 预防默认值();
$(this.toggleData('equalizer-watch');
});
[数据均衡器手表]{颜色:紫红色;}


您想更改实际的HTML属性,还是“仅”内部数据?您想更改实际的HTML属性,还是“仅”内部数据?第二个代码段更好,工作起来像个符咒。第二个代码段更好,工作起来像个符咒。