jqueryを使用して、真と偽の文字列をdata-html属性に書き出します。しかし、属性の1つにfalseを書き込み、それをfalseにチェックするとtrueを返します。私はまたそれをすることになっていることをオンラインで読んでいるが、実際には意味をなさない。ブール値( "false")はtrueを返します。
誰かに代替手段がありますか?どんな助けでも本当にありがとう!文字列'false'
がtruthyあるので
(function() {
// $(".opt-header").click(function() {
$(document).on("click", ".opt-header", function() {
console.log($(this).attr("data-is-panel-activated"));
var is_activate = Boolean($(this).attr("data-is-panel-activated"));
$(this).siblings(":not(.opt-group-toggle)").slideToggle(300);
console.log(is_activate);
if (is_activate) {
$(this).find(".fa-angle-right").replaceWith("<i class='fa fa-angle-down'></i>");
$(this).attr("data-is-panel-activated", "false");
} else {
$(this).attr("data-is-panel-activated", "true");
$(this).find(".fa-angle-down").replaceWith("<i class='fa fa-angle-right'></i>");
}
})
})();
文字列 '' false ''が真実であるため、なぜvar is_activate = $(this).attr(" data-is-panel-activated ")をチェックできません!==' false ';' –
'JSON.parse(" false ")' – bassxzero
なぜデータをブーリアンではなくattrsに書き込むのですか? –