.removeAttr()
.removeAttr( attributeName ) Returns: jQuery
Description: Remove an attribute from each element in the set of matched elements.
-
version added: 1.0.removeAttr( attributeName )
attributeNameAn attribute to remove.
The .removeAttr()
method uses the JavaScript removeAttribute()
function, but it has the advantage of being able to be called directly on a jQuery object and it accounts for different attribute naming across browsers.
Note: Removing an inline onclick
event handler using .removeAttr()
doesn't achieve the desired effect in Internet Explorer 6, 7, or 8. To avoid potential problems, use .prop()
instead:
$element.prop("onclick", null); console.log("onclick property: ", $element[0].onclick);
The behavior of .removeAttr()
may be updated to better handle this in the future. For the time being, however, setting .prop("onclick", null)
should be considered the standard cross-browser solution.
Example:
Clicking the button enables the input next to it.
<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-1.7rc2.js"></script>
</head>
<body>
<button>Enable</button>
<input type="text" title="hello there" />
<div id="log"></div>
<script>
(function() {
var inputTitle = $("input").attr("title");
$("button").click(function () {
var input = $(this).next();
if ( input.attr("title") == inputTitle ) {
input.removeAttr("title")
} else {
input.attr("title", inputTitle);
}
$("#log").html( "input title is now " + input.attr("title") );
});
})();
</script>
</body>
</html>