使用 jQuery .attr() 时布尔值会自动转换为字符串吗?

Is a Boolean automatically converted to a string when using jQuery .attr()?

设置

因此,在我程序的一个区域中,我将自定义 html 属性 设置为 true:

$(document).on('click', '.profile-player-show', function(event) {
    $('.player-profile-pop').attr('inLineup', true);
}

然后,当在后面的另一个函数中检索该信息时,我注意到布尔值现在有一种 String 类型,这并不令人震惊,我只是想知道规则是什么......?这是我在后者中的代码示例:

var inLineup = $('.player-profile-pop').attr('inLineup');
console.log("In Lineup:" + inLineup + " Type of data:" + typeof inLineup);
var btnText = (inLineup === 'true') ? "Remove From Lineup" : "Add To Lineup";

调查结果

控制台记录:

In Lineup:true Type of data:string
  1. html 属性中只允许使用字符串

我的问题:

那么,在使用jQuery.attr()函数设置变量如true或false时,布尔值是否会自动转换为字符串?

是的。属性值只能是字符串。