原始javascript而不是jquery(示例如下)

fra*_*bit 7 javascript jquery

这是我的第一个问题.我有以下jquery代码:

$(document).ready(function(){  
    $("a").click(function(){
        $(this).parent("li").css({textDecoration: "line-through"});
        return false;
    });
 });
Run Code Online (Sandbox Code Playgroud)

工作得很好.它击中任何点击锚点的父li(html中有许多锚点和列表,而不仅仅是一个).但我想要这个功能,没有别的.包含整个jquery库这不是一种过度杀伤吗?

Unfortunateley我不太了解原始的javascript,有人可以为我转换这个吗?我会很感激.

编辑:哇,我对速度和答案的质量感到惊讶!所以首先要感谢大家!我会选择jonathon(edit2:roland)的解决方案,或者只是包含jquery.再次感谢!

Jos*_*ola 9

包含整个jquery库这不是一种过度杀伤吗?

你告诉我.您可以为Google托管的库提供服务,该库可能已在客户端缓存.

在我看来,保持一致是关键.如果你习惯了jQuery,为什么不继续使用呢?您的代码将更易于维护.

你可能会发现我之前的一个问题很有趣:什么时候可以使用jQuery?


Rol*_*man 5

以下将以独立于浏览器的方式实现它.

<html>

  <body onload="loaded()">
      ...content goes here....
      <script>
          function linkClickHandler(){
              var parentNode = this.parentNode;
              if(parentNode.tagName.toLowerCase()==="li"){
                  parentNode.style.textDecoration = "line-through";
              }
              return false;
          }

          function loaded(){
              for (var i=0, links = document.links, numLinks = links.length; i<numLinks; i++){
                  links[i].onclick = linkClickHandler;
              }
          }
      </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)