我会再次尝试这个,因为我不确定上次我提出一个非常明确的问题...我有一个页面有很多链接图像。我想使用javascript更改其中一个图片链接(它是徽标)。我无法直接编辑" body" html,但可以把js放在" head"区域。
这是html代码:
<div id="ctl00">
<h1 class="logo">
<a href="http://www.store.domain.co.nz" title="Menswear"><img src="/user/files/logo.png title="Menswear" alt="Menswear"></a>
</h1>
</div>
我想将html更改为:
<div id="ctl00">
<h1 class="logo">
<a href="http://www.domain.co.nz" title="Menswear"><img src="/user/files/logo.png title="Menswear" alt="Menswear"></a>
</h1>
</div>
基本上我想删除&#34; .store&#34;来自URL,但只有这个实例,而不是页面上的所有URL。
答案 0 :(得分:4)
一种方法是使用href值来找到锚
var a = document.querySelector('a[href="http://www.this.link.co.nz"]');
if (a) {
a.setAttribute('href', 'http://www.that.link.co.nz')
}
<a href="http://www.this.link.co.nz" title="this link">
<img src="/filename.jpg" />
</a>
答案 1 :(得分:3)
检查DOM功能:
var x = document.getElementsByTagName("a")
for (i=0;i<x.length;++i) {
if (x[i].getAttribute("href") == "http://www.this.link.co.nz") {
x[i].setAttribute("href", "http://www.that.link.co.nz")
x[i].setAttribute("title", "that link")
x[i].replaceChild(
document.createTextNode(
"changed img:filename.jpg"
),
x[i].firstChild
)
}
}
&#13;
<p><a href="http://www.this.link.co.nz" title="this link">
img:filename.jpg
</a>
</p>
<p><a href="http://www.this.link.co.nz" title="this link">
img:filename.jpg
</a>
</p>
&#13;
将x
设置为包含所有 a 元素的数组。