【问题标题】:JavaScript: Find all <href> links and add style tag to it with style details like font, color etc.JavaScript:查找所有 <href> 链接并向其添加样式标记,其中包含字体、颜色等样式详细信息。
【发布时间】:2012-12-30 23:34:56
【问题描述】:

我有一个字段,用户可以在其中输入一些文本,包括链接等。保存数据并预览文本后,我需要将所有链接格式化为&lt;a href&gt; 上设置的某个内联样式标签。没有使用 CSS 的选项,所以它应该是内联的。

输入文本示例:Some text goes here. Please go to my web site, click here &lt;a href="http://www.onewebsite.com" target="_blank"&gt;www.onewebsite.com&lt;/a&gt;. Then some more text here…..with more links etc……

预览时的示例文本:Some text goes here. Please go to my web site, click here &lt;a href="http://www.onewebsite.com" target="_blank" style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px; color: #fa860b;"&gt;www.onewebsite.com&lt;/a&gt;. Then some more text here…..with more links etc……

请注意,style="font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px; color: #fa860b;" 现在已添加到 &lt;a href&gt;

如何以简单的方式使用 JavaScript 来实现?这将是某种功能,例如:

function formatPreview(myText){
  defaultStyle="style=\"font-family: Arial, Verdana, Helvetica, sans-serif; font-size: 12px; color: #fa860b;\"";
  myText = myText, find all a href and enter my defaultStyle 
  return myText
}

请告诉我。谢谢你的帮助。

【问题讨论】:

  • 为什么需要 JavaScript?这可以通过 CSS 来实现。
  • 嗨 - 一个非常重要的评论是 this 将在电子邮件中使用,这意味着样式应该是内联的。所以我无法访问 jQuery 和 CSS。所有 HREF 链接都需要添加 STYLE 标记,以便链接可以在所有电子邮件客户端中呈现。

标签: javascript regex hyperlink href inline-styles


【解决方案1】:

不需要为此使用正则表达式。当您想要预览时,只需使用 jquery 将这些样式添加到链接中即可:

$("a[href='http://www.onewebsite.com']").css("font-family","Arial, Verdana, Helvetica, sans-serif"); 

$("a[href='http://www.onewebsite.com']").css("font-size","12px"); 

$("a[href='http://www.onewebsite.com']").css("color","#fa860b"); 

@Edit:好吧,很多人已经对我的评论最多了,你需要在你的 HTML 代码中包含 jquery 库

@Edit 2:如果你可以给achor标签加上一个ID,你可以使用下面的javascript

<a id="a1" href=".."></a>

var element = document.getElementById("a1");

a1.style.fontFamily = "Arial, Verdana, Helvetica, sans-serif";

a1.style.fontSize = "12px";

a1.style.color = "#fa860b";

【讨论】:

  • 帖子中的 jQuery 标签或对库的引用在哪里?
  • 别说完全错了,找&lt;a&gt;&lt;href='http://www.onewebsite.com'&gt;Some text&lt;/href='http://www.onewebsite.com'&gt;&lt;/a&gt;
  • 嗨,我无法访问 jQuery,所以需要使用 JavaScript 或者 RegEx 来完成?有没有可能.....
  • 也可以用 Javascript 来完成。让我想出它的代码。
  • 嗨@gurvinder372,很遗憾我也没有任何输入ID的选项。由于某些原因,我非常有限。所有链接都是这样 ....<a href="/default/index/tourl?u=PGEgaHJlZj0%3D" http: rel="nofollow" target="_blank">onelink.com</a>" target="_blank"&gt;my site..... 所以我正在寻找 JavaScript可以为我做到这一点的函数或正则表达式,因为没有使用 jQuery、CSS、getElementById 等的选项。
【解决方案2】:

为什么会有“无 CSS 选项”?如果您只想影响预览区域中的链接,那么(假设您的预览区域有id="preview")只需这样做:

#preview a {
    font-family: 'Arial', 'Verdana', 'Helvetica', sans-serif;
    font-size: 12px;
    color: #fa860b;
}

【讨论】:

  • 您好,这是一个预览过程,将显示实际文本的外观。我可以看到我忘了提到文本将被插入到 html 电子邮件中,所以这就是我无法访问 jQuery 和 CSS 链接的原因。它需要是内联样式标签,以便电子邮件将在所有电子邮件客户端中呈现。
猜你喜欢
  • 2014-03-22
  • 1970-01-01
  • 1970-01-01
  • 2020-12-08
  • 2013-04-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多