-3

基本的に次のようなコードがあります。

<div class="parent">
  <a href="#" class="link"></a>
    <div class="text"> Some plain text </div>
</div> 

div.text今度は、次のように href を追加します。

$('div.text').each(function(){
    $(this).append('<a class="append" href="' + $(this).attr('href') + '"></a>');
});​

問題は、から href を取得する必要があることですa.link。そのhrefに1レベル上がるにはどうすればよいですか? 明らかに 'this'機能しません。たくさんありa.link、動的に作成されるため、クラス名で呼び出すこともできません。また、「parent」または「parents」も使用できません。何らかの理由で、スクリプトでは機能しません。

4

1 に答える 1

4

.parent()a要素は親ではなく兄弟であるため、機能しません。代わりに使用できます.prev()

$(this).append('<a class="append" href="' + $(this).prev().attr('href') + '"></a>');

この.prev()メソッドは、直前の要素を返します。マークアップを変更する場合は.prevAll(".link")、 、またはも使用できます.siblings(".link")

于 2012-10-07T21:29:55.183 に答える