我有一个事件插件,可以将所有日程表文本链接到主事件页面,如下所示:
<td><a href="http://apavtcongresso.staging.wpengine.com/event/congresso-apavt-2018/">Chegada dos primeiros congressistas</a></td>
但是,我需要更改特定锚标记的链接以重定向到其他页面,并且无法向<a>
元素添加ID或类。
是否可以通过在<td></td>
中查找文本来更改href属性,在本例中为“ Chegada dos primeiros congressistas”?
我知道我可以使用document.body.innerHTML = document.body.innerHTML.replace('Example 1', 'Change to Example 2');
来更改文本本身,但是不知道如何更改属性。
谢谢
答案 0 :(得分:1)
一种选择是使用jQuery及其:contains
,它允许您简洁地选择具有特定内容的元素:
const a = $('a:contains(Chegada dos primeiros congressistas)');
a.prop('href', 'https://foo.bar');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td><a href="http://apavtcongresso.staging.wpengine.com/event/congresso-apavt-2018/">Chegada dos primeiros congressistas</a></td>
</tr>
</table>
或者,如果您不希望使用大型库,则手动遍历与选择器匹配的a
文件:
const a = Array.prototype.find.call(
document.querySelectorAll('td > a'),
a => a.textContent === 'Chegada dos primeiros congressistas'
);
a.href = 'https://foo.bar';
<table>
<tr>
<td><a href="http://apavtcongresso.staging.wpengine.com/event/congresso-apavt-2018/">Chegada dos primeiros congressistas</a></td>
</tr>
</table>
答案 1 :(得分:0)
document.getElementsByTagName('a')[0].href = 'http://newlink.com'
<td><a href="http://apavtcongresso.staging.wpengine.com/event/congresso-apavt-2018/">Chegada dos primeiros congressistas</a></td>