我正在使用此引导程序切换:https://codepen.io/aanjulena/pen/ZLZjzV
基本上是在重新设置按钮的外观。每当该值处于“ on”状态时,aria-pressed
属性为true,反之亦然。像这样:
<button id="packagesSwitch" type="button" class="btn btn-toggle my-3 pkgSwitch" data-toggle="button" aria-pressed="false" autocomplete="off">
<div class="handle"></div>
</button>
我正在尝试通过执行以下操作来获得此值:
$('.pkgSwitch').click(function(){
if($(this).attr('aria-pressed')){
console.log("true");
$('#packageSwitchValue').val(1);
}else{
console.log("false");
$('#packageSwitchValue').val(0);
}
});
但是它似乎根本不起作用。我意识到.attr
给了我原始的价值,并且我尝试使用.prop()
进行了某种尝试,但是我想不出一种方法,因为我没有尝试过。
此处返回的属性值的类型为'字符串'-您可以使用typeof()
进行检查。因此,它应该始终通过第一个条件,并且永远不要达到else
。如果将if
语句更改为添加=== 'true'
,则它应该起作用。
if($(this).attr('aria-pressed') === 'true'){