我在尝试这个密码:
if (window.matchMedia("(max-width: 767px)").matches) {
// The viewport is less than 768 pixels wide
document.getElementById("link").target = "_self";
}<a id="link" href="/something" target="_blank">Click Me</a>
但它只适用于一个身份。我希望使用一个类或ID将网页中所有链接的target="_blank"转换为target = "_self"。
我该怎么做呢?
发布于 2020-09-23 12:07:19
问题是ID是唯一的。这意味着您只能有一个具有特定ID的元素,而不能将此ID提供给另一个元素。因此,您应该使用第二种方法:类。
在这段代码中,您使用特定的类获取所有元素,然后将其目标设置为_self。
var tags = document.getElementsByClassName("className");
for(var i = 0; i < tags.length; i++) {
tags[i].target = "_self";
}HTML示例:
<a class="className" href="/something" target="_blank">Click Me</a>发布于 2020-09-23 12:09:13
因为id必须是唯一的,所以我们可以使用document.querySelectorAll("a[id^=link]").target = "_self"
a[id^=link]将选择所有使用link的id统计信息的links(a)。
Demo
if (window.matchMedia("(max-width: 767px)").matches) {
// The viewport is less than 768 pixels wide
document.querySelectorAll("a[id^=link]").target = "_self"
}<a id="link" href="/something" target="_blank">Click Me</a>
<a id="link2" href="/something" target="_blank">Click Me</a>
https://stackoverflow.com/questions/64027535
复制相似问题