我想在点击后点击html链接的范围
<a onClick="change_min()"><span id="glyph" class="glyphicon glyphicon-plus"></span></a>
<script type="text/javascript">
function change_min() {
var btn = document.getElementById("glyph");
if (btn.attr('class') == 'glyphicon glyphicon-plus') {
btn.removeClass('glyphicon glyphicon-plus').addClass('glyphicon glyphicon-minus');
} else {
btn.removeClass('glyphicon glyphicon-minus').addClass('glyphicon glyphicon-plus');
}
}
</script>
&#13;
答案 0 :(得分:3)
你似乎在混合使用jQuery和普通的javascript函数。当您使用getElementById时,这不是jQuery对象,因此.attr()
,.removeClass()
,.addClass()
不存在。
而是像这样选择你的btn:
btn = $("#glyph");
我还会使用.hasClass()
代替.attr()
。
$(function() {
$("#change-icon").on("click", function(e) {
console.log('click');
e.preventDefault();
var btn = $("#glyph");
if(btn.hasClass('glyphicon-plus')) {
btn.removeClass('glyphicon-plus').addClass('glyphicon-minus');
}
else {
btn.removeClass('glyphicon-minus').addClass('glyphicon-plus');
}
});
});
<a id="change-icon"><span id="glyph" class="glyphicon glyphicon-plus"></span></a>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
答案 1 :(得分:0)
这对你有很大帮助。
$(document).ready(function(e) {
$("#linkclick").click(function(e) {
if ($("#glyph").hasClass("glyphicon-plus")) {
$("#glyph").removeClass("glyphicon-plus").addClass("glyphicon-minus");
} else {
$("#glyph").addClass("glyphicon-plus").removeClass("glyphicon-minus");
}
e.preventDefault();
//turn false;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<a href="#" id="linkclick"><span id="glyph" class="glyphicon glyphicon-plus"></span></a>