将target =“_ blank”添加到尚未指定目标的某些链接

时间:2012-10-05 22:32:08

标签: javascript jquery regex coldfusion

我意识到已经有成千上万的类似问题,但是在浏览了30分钟之后,我找不到能够解决我的具体情况的问题。

我正在寻找ColdFusion 7/8或Javascript或JQuery解决方案。 CF更可取。

我需要一个脚本来搜索大文本字符串,以查找所有不区分大小写的实例...
<a href="http://[something_external]">
那个没有指定目标。并用......替换它们     <a href="http://[something_external]" target="_blank">

因此,将要更改的链接的标准是:

  1. href值以“http://”
  2. 开头
  3. href值不包含“ourdomain.com”
  4. 尚未指定目标值
  5. 例如,我在网上发现了以下内容,但不太正确:
    REReplaceNoCase(mystring, '(<a href="http://[^"]+")>', '\1 target="_blank">', 'ALL')

    有意义吗?可行?

1 个答案:

答案 0 :(得分:4)

<强>的jQuery

$(function() {
  $.each($('a[href^=http]'), function() {
    var $this = $(this);
    $this.attr('href').indexOf('ourdomain.com') >= 0 || typeof($this.attr('target')) != "undefined" || $this.attr('target', '_blank');
  });
});
  • 当文档出现时,循环显示以http开头的所有链接
  • 包含ourdomain.com
  • 是否有属性target
  • 设置属性target