首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将target="_blank“改为target = "_self”用于移动

将target="_blank“改为target = "_self”用于移动
EN

Stack Overflow用户
提问于 2020-09-23 12:03:11
回答 2查看 1.6K关注 0票数 0

我在尝试这个密码:

代码语言:javascript
复制
if (window.matchMedia("(max-width: 767px)").matches) {
  // The viewport is less than 768 pixels wide 
  document.getElementById("link").target = "_self";
}
代码语言:javascript
复制
<a id="link" href="/something" target="_blank">Click Me</a>

但它只适用于一个身份。我希望使用一个类或ID将网页中所有链接的target="_blank"转换为target = "_self"

我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-23 12:07:19

问题是ID是唯一的。这意味着您只能有一个具有特定ID的元素,而不能将此ID提供给另一个元素。因此,您应该使用第二种方法:类。

在这段代码中,您使用特定的类获取所有元素,然后将其目标设置为_self

代码语言:javascript
复制
var tags = document.getElementsByClassName("className");
for(var i = 0; i < tags.length; i++) {
    tags[i].target = "_self";
}

HTML示例:

代码语言:javascript
复制
<a class="className" href="/something" target="_blank">Click Me</a>
票数 1
EN

Stack Overflow用户

发布于 2020-09-23 12:09:13

因为id必须是唯一的,所以我们可以使用document.querySelectorAll("a[id^=link]").target = "_self"

a[id^=link]将选择所有使用link的id统计信息的links(a)

Demo

代码语言:javascript
复制
if (window.matchMedia("(max-width: 767px)").matches) {
  // The viewport is less than 768 pixels wide 
  document.querySelectorAll("a[id^=link]").target = "_self"
}
代码语言:javascript
复制
<a id="link" href="/something" target="_blank">Click Me</a>
<a id="link2" href="/something" target="_blank">Click Me</a>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64027535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档