2012-10-05 62 views
4

我意識到有成千上萬個類似的問題已經被問到,但花了30分鐘瀏覽後,我無法找到一個解決我的具體問題的問題情況。add target =「_ blank」to某些尚未指定目標的鏈接

我正在尋找ColdFusion 7/8或Javascript或JQuery解決方案。 CF優選。

我需要一個腳本,將搜索大文本字符串,找到所有不區分大小寫的情況下...
<a href="http://[something_external]">
這不已經有指定的目標。並與替換它們...
<a href="http://[something_external]" target="_blank">

所以,這就要改變了鏈接的標準是:

  1. href的值以「http://」
  2. href的值不包含「ourdomain .COM」
  3. 沒有目標值已經指定

舉例來說,我在網上找到以下,但它並不完全正確:
REReplaceNoCase(mystring, '(<a href="http://[^"]+")>', '\1 target="_blank">', 'ALL')

有意義嗎?可行?

+0

難道我的回答對你的工作?我無法測試它 –

回答

4

通過與http開始當文檔 準備

  • 包含ourdomain.com各個環節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'); 
        }); 
    }); 
    
    • 循環?
    • 有屬性target
    • 組屬性target
  • +0

    它應該= 0和=「未定義」? – user1316401

    +0

    不,'indexOf'返回找到該字符串的位置OR -1,而'=='是一個比較運算符vs'='這是一個賦值運算符 –

    +0

    另外,如果需要返回false找到'target',所以它在'||/OR'語句中傳遞並指定'target'屬性 –

    相關問題