a. Wolf led you in the right direction. There are several attributes in which you should not set a string value. You must switch it using boolean true or false .
.attr("hidden", false) will remove the attribute in the same way as with .removeAttr("hidden") .
.attr("hidden", "false") invalid and the tag remains hidden.
You should not set hidden , checked , selected or several others for any string value to switch.
source share