Javascript 在文本中查找和更改与js的链接
我有一个文本,必须作为电子邮件发送。但是,为了使邮件具有其布局,我们需要添加一些样式。 我们必须做的是: 1在文本中找到一个或多个此格式的链接Javascript 在文本中查找和更改与js的链接,javascript,html,regex,dom,hyperlink,Javascript,Html,Regex,Dom,Hyperlink,我有一个文本,必须作为电子邮件发送。但是,为了使邮件具有其布局,我们需要添加一些样式。 我们必须做的是: 1在文本中找到一个或多个此格式的链接 <a href="RANDOM URL HERE">RANDOM TEXT</a> 2将链接更改为以下格式: <a href="RANDOM URL HERE" style="color: #FFFFFF; text-decoration: none;"><span style="color: #FFFFF
<a href="RANDOM URL HERE">RANDOM TEXT</a>
2将链接更改为以下格式:
<a href="RANDOM URL HERE" style="color: #FFFFFF; text-decoration: none;"><span style="color: #FFFFFF;">RANDOM TEXT</span></a>
我不知道我如何才能最好地做到这一点,与正则表达式或与DOM
非常感谢 在我看来,最好的方法是创建一个css类并将其添加到链接中。您不需要添加跨距标记!使用DOM是最好的方法。
首先,您应该考虑不要使用正则表达式来处理HTML/XML标记。您可以在此处阅读原因:)
然后,为了回答问题,您应该执行以下操作:var div = document.createElement("div"),
links;
div.innerHTML = textOfYourEmail;
links = div.getElementsByTagName("a");
for (var i = links.length; i--;) {
var link = links[i],
span = document.createElement("span");
link.style.textDecoration = "none";
link.style.color = "#fff";
span.style.color = "#fff";
while (link.firstChild) {
span.appendChild(link.firstChild);
}
link.appendChild(span);
}
textOfYourEmail = div.innerHTML;
它使用嵌入式方法进行DOM操作。它快速可靠。既然您已经在
a
标记中修改了样式,为什么还要插入span?因为有些邮件客户端只查看“”标记中的样式,有些只查看“”标记中的样式,但它是用于将用作电子邮件的文本,而电子邮件不使用css类,所以它必须是内联的