javascript - 通过 'a' 语法定义类

标签 javascript

我发现我正在使用的脚本存在缺陷;它正在调用全局“a”标签 - 这简直要了我的命。

在下面的代码片段中的“a”标记中定义特定类链接的正确方法是什么?

var allLinks = document.getElementsByTagName('.mainnav');

显然这不起作用;要么 .mainnav a

完整片段:

var ss = {
  fixAllLinks: function() {
    // Get a list of all links in the page
    var allLinks = document.getElementsByTagName('.mainnav');
    // Walk through the list
    for (var i=0;i<allLinks.length;i++) {
      var lnk = allLinks[i];
      if ((lnk.href && lnk.href.indexOf('#') != -1) && 
          ( (lnk.pathname == location.pathname) ||
        ('/'+lnk.pathname == location.pathname) ) && 
          (lnk.search == location.search)) {
        // If the link is internal to the page (begins in #)
        // then attach the smoothScroll function as an onclick
        // event handler
        ss.addEvent(lnk,'click',ss.smoothScroll);
      }
    }
  },

更新:更换不同的标签后;并尝试使用类调用脚本停止运行。这是完整的插件; http://www.kryogenix.org/code/browser/smoothscroll/我只想将其与特定类一起使用,而不是所有“a”标签。

建议;谢谢。

最佳答案

.mainnav 不是标签,因此 getElementsByTagName 不起作用。也许您正在寻找:

var allLinks = document.getElementsByClassName('mainnav');

https://developer.mozilla.org/en-US/docs/DOM/document.getElementsByClassName

或者在 jQuery 中:

$('.mainnav');

关于javascript - 通过 'a' 语法定义类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11889383/

相关文章:

javascript - JS提示+PHP

javascript - 导出 Promise API 调用以供重用

javascript - 当用户理想时,如何在 Laravel 中为每个用户设置不同的自动注销时间

php - 即使 post 请求完成后,Firefox 仍显示等待光标和 "loading.."

javascript - 在 Google Chrome 中指定 blob 编码

javascript - iOS WKWebView 不显示 javascript alert() 对话框

javascript - 如何创建 javascript 库的引用?

javascript - 如何通过在javascript中单击浏览器的后退按钮将页面恢复到以前的状态

javascript - 访问加载时 ajax 请求返回的数据

javascript - Jquery 响应式导航栏在单击菜单项或单击菜单按钮时折叠