6

私はこのコードを持っています:

<ul class="list">
  <li>
    <a href="#" >
      <img src="IMAGE" />
      SOME TEXT
    </a>
  </li>
  <li>
    <a href="#" >
      <img src="ANOTHER IMAGE" />
      SOME DIFFERENT TEXT
    </a>
  </li>
</ul>

次のように、画像を親ノードの前に追加します。

<ul class="list">
  <li>
    <img src="IMAGE" />
    <a href="#" >
      SOME TEXT
    </a>
  </li>
  <li>
    <img src="ANOTHER IMAGE" />
    <a href="#" >
      SOME DIFFERENT TEXT
    </a>
  </li>
</ul>
4

3 に答える 3

24

これを試して:

$('.list > li > a > img').each(function() {
    $(this).insertBefore($(this).parent());
})

http://jsfiddle.net/alnitak/3nEVz/のデモ

編集私はよりクリーンなバージョンを思いつきました:

$('.list > li > a > img').each(function() {
    $(this).parent().before(this);
})
于 2011-06-17T09:43:52.553 に答える
3
$('ul.list img').each(function(_, elem) {
    var $elem = $(elem);
    $elem.prependTo( $elem.closest('li') );
});

デモ: http://jsfiddle.net/hPbZD/1/

于 2011-06-17T09:46:05.870 に答える
1

これを試して:

$(function() {
    $('ul.list > li > a > img').each(function() {
      $(this).closest('li').prepend(this);
    });
});

実際の動作はこちらでご覧ください。

于 2011-06-17T09:46:09.230 に答える