【问题标题】:how to get element by href and add a class to this element [duplicate]如何通过href获取元素并向该元素添加一个类[重复]
【发布时间】:2020-09-29 20:44:50
【问题描述】:

我尝试通过他的 href 获取一个元素,并在 typescript 中为这个元素添加一个类, 为此,我尝试了:

let path = window.location.pathname;
let link = document.querySelectorAll("a[href="+path+"]");
console.log(link);

但是我的 console.log 给我一个错误

querySelectorAll' on 'Document' is not a valid selector

你知道我该如何解决这个问题吗? 谢谢

【问题讨论】:

  • 同时 querySelectorAll 返回一个集合。您可能只想考虑 querySelector
  • 你确定 href 只是路径吗?也许你的意思是document.querySelector(`a[href*="${path}"]`); 看看href 是否包含路径而不是等于路径

标签: javascript typescript dom


【解决方案1】:

这个问题不是 TypeScript 特定的。这只是本机 Javascript :)

path 变量周围缺少括号。

let path = window.location.pathname;
let link = document.querySelectorAll('a[href="'+path+'"]');
console.log(link);

(可选)取决于您需要支持的浏览器 - 您可以通过使用插值和模板文字使此代码更具可读性:

let path = window.location.pathname;
let link = document.querySelectorAll(`a[href="${path}"]`);
console.log(link);

【讨论】:

  • 您是在建议我从某处复制并粘贴此答案,因为我太快了?伙计——我是一名全职的网络开发人员。这确实不是一个难以解决的问题。
  • 啊——抱歉。误解了您评论的上下文:) 感谢您更新第二个示例。你在我编辑之前就发现了它!
猜你喜欢
  • 2018-09-02
  • 2018-11-24
  • 2021-01-31
  • 2011-03-07
  • 2023-03-22
  • 2013-08-10
  • 2013-01-16
  • 2019-11-23
  • 2014-05-29
相关资源
最近更新 更多