更新:如果你在一個HTML5 +世界the target
attribute is no longer deprecated(no longer missing, to be more accurate)作爲it was in XHTML 1.0閱讀本(原題的上下文)。我建議如果你現在正在閱讀這個,忽略下面的所有內容,使用target
屬性是否引發合規性警告,所有的瀏覽器都支持它,它永遠不應該被排除在外......事實上它是在稍後的規範中加入顯示刪除它是一個錯誤。
這將工作:
$('a#external-url').live('click', function(){
$(this).attr('target','_blank');
});
然而,ID應該是唯一的,如果你加載超過1,他們需要有一個類來代替,就像這樣:
<a href="http://google.com" class="exteral-url">Google</a>
和jQuery這樣的:
$('a.external-url').live('click', function(){
$(this).attr('target','_blank');
});
符合標準的方法是:
$('a.external-url').live('click', function(e){
window.open(this.href);
e.preventDefault(); //or return false;
});
@尼克再次感謝! – mtwallet 2010-04-09 09:50:48
-1 _blank已被棄用!即使您正在通過使用腳本添加屬性來解決驗證問題。 – 2010-04-09 11:40:03
@詹姆斯 - 我正在解決OP沒有約束的問題。如果他們想繞過驗證,這是他們的呼籲,而不是我的,這個問題是關於JavaScript不工作。作爲一個側面說明,*通常*我同意,但是'_blank'被棄用是W3C方面輕度遲鈍的錯誤。我敢打賭,從現在開始的5年內,我會賭100美元**每個**瀏覽器都會支持'_blank'。 – 2010-04-09 11:44:32