单击锚标记,使用JS添加类

时间:2017-06-09 12:25:23

标签: javascript

<p id="testhome-1">Test</p>
<p id="testhome-2">Test</p>

<a href="#testhome-1">Click</a>
<a href="#testhome-2">Click</a>

当我点击锚标签时,我想将一个类添加到Paragraph的特定id。

2 个答案:

答案 0 :(得分:1)

普通JS:

window.onload=function() {
  document.querySelector("[href=#testhome-1]").onclick=function() {
    document.querySelector("#testhome-1").classList.add("clicked"); // or toggle
    return false; // cancel link
  }
}

或任何链接:

&#13;
&#13;
window.onload = function() {
  var links = document.querySelectorAll("a");
  for (var i=0;i<links.length;i++) {
    links[i].onclick = function() {
      document.querySelector("#"+this.href.split("#")[1]).classList.toggle("clicked");
      return false; // cancel link
    }
  }
}
&#13;
.clicked { color:green }
&#13;
<p id="testhome-1">Test</p>
<p id="testhome-2">Test</p>

<a href="#testhome-1">Click 1</a> |
<a href="#testhome-2">Click 2</a>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

在浏览时,我发现了一个替代代码,当我点击锚定标记时,将类添加到特定的id。 这个对我有用。我不知道它是否适合所有浏览器。

我在这里附上了代码。

$("a").on("click", function() {
   var id = $(this).attr('href');
   $('.active').removeClass('active'); // remove existing active
   $(id).addClass('active'); // set current link as active
});

参考jsfiddle: http://jsfiddle.net/PremalathaKumar/3J9WK/109/