在文本中查找和更改js的链接

时间:2013-04-19 09:20:51

标签: 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: #FFFFFF;">RANDOM TEXT</span></a> 

我不知道我怎样才能最好地使用正则表达式或DOM,...

非常感谢!

2 个答案:

答案 0 :(得分:1)

首先,您应该考虑从不使用正则表达式来处理HTML / XML标记。你可以在这里阅读原因:https://stackoverflow.com/a/1732454/1249581:)

然后,为了回答这个问题,您应该执行以下操作:

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操作。它快速可靠。

答案 1 :(得分:0)

在我看来,最好的方法是创建一个css类并将其添加到您的链接。您不需要添加span标签!使用DOM是最好的方法。