IDが「MyDiv」のdivがあり、このdivのすべての子アンカーを新しいウィンドウで開く必要があります。
私はしようとしています:
jQuery('#MyDiv.children() a').click(function(){
jQuery(this).attr('target', '_blank');
});
IDが「MyDiv」のdivがあり、このdivのすべての子アンカーを新しいウィンドウで開く必要があります。
私はしようとしています:
jQuery('#MyDiv.children() a').click(function(){
jQuery(this).attr('target', '_blank');
});
$('#MyDiv a').attr ('target', '_blank');
この属性がどのように機能するかわからない場合は、以下をお読みください。
target="_blank"
(xHTMLを作成するときによく眉をひそめる)を使いたくない場合は、クリックイベントをアンカーにバインドし、javascript/jqueryを使用して新しいウィンドウを開くことができます。
以下の例のように:
$('#MyDiv a').click(function(ev) {
window.open(this.href);
ev.preventDefault (); // see post comment by @nbrooks
});
問題はメインセレクターです。.children()
cssセレクターの有効な部分ではありません。cssセレクターにaを追加するspaceと、セレクターの次の部分がすべての子ノードで検索されます。直接の子ノードのみを検索する場合は、代わりに使用できます>
。#MyDiv.children() a
例:に置き換え#MyDiv>a
ます
jQuery('#MyDiv>a').click(function(){
jQuery(this).attr('target', '_blank');
});
または、次を使用できます。
jQuery('#MyDiv>a').click(function(oEvent) {
oEvent.preventDefault();
window.open($(this).attr('href'), '_blank');
});
.children()
あなたはセレクターでを取り除くことができます。
マークアップ:
<div id="MyDiv">
<a href="http://wwww.google.com">1</a>
<a href="http://wwww.google.com">2</a>
<a href="http://wwww.google.com">3</a>
<a href="http://wwww.google.com">4</a>
</div>
jQuery:
$('#MyDiv a').click(function(){
$(this).attr('target', '_blank');
});
これはあなたに役立つかもしれません
$('#MyDiv a').live('click', function() {
window.open($(this).attr('href'));
return false;
});