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 回答