tags:

views:

21

answers:

1

I'm not sure if this script is working properly. I do not want to overwrite existing targets. How can I adjust this to exclude links that already have a target defined?

$("a[@href^='http://']").not("[@href*='" + window.location.host + "']").attr('target','_blank');
+1  A: 

Use .not("[target]") to exclude links with a target attribute defined:

$("a[href^='http://']").not("[target]")
  .not("[href*='" + window.location.host + "']")
  .attr('target','_blank');

Also the syntax of putting @ in front of attribute selectors was deprecated in 1.2 and removed in 1.3.

cletus
whats the double `..` before `not()`
adardesign