2

IDが「MyDiv」のdivがあり、このdivのすべての子アンカーを新しいウィンドウで開く必要があります。

私はしようとしています:

jQuery('#MyDiv.children() a').click(function(){
    jQuery(this).attr('target', '_blank');
});
4

4 に答える 4

2

jsFiddleの例については、ここをクリックしてください

$('#MyDiv a').attr ('target', '_blank');

この属性がどのように機能するかわからない場合は、以下をお読みください。


target="_blank"(xHTMLを作成するときによく眉をひそめる)を使いたくない場合は、クリックイベントをアンカーにバインドし、javascript/jqueryを使用して新しいウィンドウを開くことができます。

以下の例のように:

jsFiddleの例については、ここをクリックしてください

$('#MyDiv a').click(function(ev) {
  window.open(this.href);
  ev.preventDefault   (); // see post comment by @nbrooks
});
于 2012-07-13T05:04:08.560 に答える
1

問題はメインセレクターです。.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');
});
于 2012-07-13T05:04:17.820 に答える
1

.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'); 
}); ​

jsFiddleの例

于 2012-07-13T05:07:55.737 に答える
0

これはあなたに役立つかもしれません

$('#MyDiv a').live('click', function() {
    window.open($(this).attr('href'));
    return false;
});
于 2012-07-13T05:04:39.717 に答える