2013-12-13 2 views
2

У меня есть скрипт, где, если div существует, я хочу быть наверху его родительского div. Вот что я пробовал:jQuery - Перемещение div в начало его родителя

 if ($(".pane-bundle-hblock .field-name-field-hblock-image-right").length){ 
      $(".pane-bundle-hblock .field-name-field-hblock-image-right").parent().prepend($('this')); 
     } 

Что я не так понял?

ответ

10

$('this') выбирает <this></this> элементы.

Я хотел бы сделать что-то вроде этого:

$(".pane-bundle-hblock .field-name-field-hblock-image-right").each(function() { 
    $(this).parent().prepend(this); 
}); 

Если элемент не существует, .each() не будет иметь ничего перебирать, так что вам не нужно, чтобы проверить, если он существует.

1

Я не знаю, что «это» имеет какой-либо особый контекст в условном выражении. Вы можете быть более явным в том, что вы двигаетесь:

JSFiddle пример: http://jsfiddle.net/BKg6z/

if ($(".pane-bundle-hblock .field-name-field-hblock-image-right").length){ 
    $(".pane-bundle-hblock .field-name-field-hblock-image-right").parent().prepend($(".pane-bundle-hblock .field-name-field-hblock-image-right")); 
} 
Смежные вопросы