0

私は<div>以下のようなものがあります

<div class="divClass">
<ul class="ulClass">
    <li id="liID" class="liClass">
        <a href="myLink">
        <span class="spanClass">myText</span>
        </a>
    </li>
</ul>
</div>

次に、要素を読み取り、<a>target属性の値をに設定するjQueryスクリプトを記述し_blankます。

子要素のJQuery変更属性を調べ、スクリプトを取得しました。しかし、それは私に以下のようなスクリプトを与えました

$('.divClass').click(function(e){

$(this).find('.aclass').text("yeeee");
$(this).find('.imgclass').attr("src", "remove_favorit.png");

e.preventDefault(); 

});

私が実際に必要としているのは、、を繰り返し処理してから<div>、その中のに手を伸ばしてを設定することです。これどうやってするの?<ul><li><a>target

子要素のGet属性も確認しました

4

3 に答える 3

2

こちらで確認してくださいhttp://fiddle.jshell.net/MQfJM/

画像でわかるように、ここに画像の説明を入力してくださいこのコードは、ロード時にページのすべての要素にターゲットブランクを追加します。

リストからのみtarget="_blank"を追加したいとします。あなたはそれを交換する必要があるだけです

$('a') with $('ul a')

ユーザーがアンカーをクリックしたときにtarget="_ blank"を追加したい場合は、コード$(document).ready(function(){ /* code */ }) を次のように変更できます。

$('a').on( 'click', function(){
   $(this).attr( 'target', '_blank' );
});
于 2012-12-26T00:53:34.730 に答える
2

クリックで発生したくないと思いますが、次のコードはtarget=_blank内部のリンクをクリックすると設定されますdivClass

$(function(){
    $('.divClass .ulClass .liClass').on('click', 'a', function(e){
        $(this).attr('target', '_blank');
        e.preventDefault();
    });
});​

そして、このコードはページの読み込み時にそれを行います

$(function(){
    $('.divClass .ulClass liClass a').attr('target', '_blank');
});​
于 2012-12-26T00:44:32.703 に答える
1

次を使用できます。$(".divClass > .ulClass > .liClass > a").attr("target", "_blank")

これは非常に特殊なセレクターです。必要に応じてすべての「>」を削除してください。

于 2012-12-26T00:44:02.657 に答える