在html中更改链接的范围

时间:2016-02-18 09:11:14

标签: javascript jquery html

我想在点击后点击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;
&#13;
&#13;

2 个答案:

答案 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>