I understand that jquery will allow you to modify attributes with the .attr() method. There are basically two methods:
$(\'#element\').attr(\'attribute\', \'
Try using .prop
to deal with boolean
that is for supported attributes like selected/disabled/checked
e.t.c
$('#element').prop('attribute', true);
from jQuery docs, (an example)
elem.checked
returns true
(Boolean) Will change with checkbox state
$(elem).prop("checked")
returns true
(Boolean) Will change with checkbox state
elem.getAttribute("checked")
returns "checked"
(String) Initial state of the checkbox; does not change
$(elem).attr("checked")(1.6)
returns "checked"
(String) Initial state of the checkbox; does not change
$(elem).attr("checked")(1.6.1+)
returns "checked"
(String) Will change with checkbox state
$(elem).attr("checked")(pre-1.6)
returns true
(Boolean) Changed with checkbox state
HTML attributes are always string values. If you indeed want to set something other than a string, then please consider using jQuery.data()
I use this method in jQuery
jQuery('option').attr("selected", "");
or in JavaScript:
document.querySelector("option").setAttribute("selected", "");
It's just you need to pass an empty string to just set boolean attribute.