I am trying to retrieve a data attribute of type Boolean from an html DIV element , however it is always returning false when the string is converted to boolean .
HTML
<div id='test' data-return="true"></div>
JS
isreturn_str = $('#test').data('return');
isreturn = (isreturn_str === 'true');
if (isreturn) {
document.write("It is true");
} else {
document.write("It is false");
}
output
It is false
The jQuery
.data()method is smart about recognizing boolean and numeric values and converts them into their native type. So this returns the booleantrue, not"true":If you want to get the raw data (without the automatic data conversion), you can use
.attr():See the working test case here: http://jsfiddle.net/jfriend00/6BA8t/