2016-10-31 3 views
1

по какой-либо причине изменяемый размер для ребенка не работает.Jquery resizable не работает должным образом с дочерним классом

<div class="parent"><img class="child"></div> 
<div class="parent"><img class="child"></div> 
<div class="parent"><img class="child"></div> 

Когда я попытался $(".parent").resizable({alsoResize: ".child"}); то изменение размера произойдет, но изменить размер всех изображений вместо соответствующего изображения.

Когда я попытался

$(".parent").resizable({ alsoResize: $(this).closest('.child') }); 

или

$(".parent").resizable({ alsoResize: $(this).find('.child') }); 

только тогда ДИВО изменение размеров, а не изображение внутри. Почему это происходит?

Кроме того, когда я использую $(".child").resizable(); тогда <div class="ui-wrapper" > приходит и стать

<div class="parent"> 
    <div class="ui-wrapper"><img class="child ui-resizable"></div> 
</div> 

но вот в чем проблема заключается в IMG не показывается, поскольку дисплей никто не автоматически приходит, ширина и высота класса щ-обертка не установлен или не установлен 0. пожалуйста, помогите выяснить проблему.

+0

'this' не относится к' .parent' элемента –

+0

так, что мне нужно делать? и почему он не относится к родительскому элементу, так как я начал с выбора $ (". parent")? я думаю, после выбора это относится к родительскому элементу –

+0

Я добавил вам ответ –

ответ

0

Во-первых, ваш селектор неверен; вам не хватает префикса .. Во-вторых, this не относится к элементу .parent, это относится к области, в которой создается обработчик событий. Чтобы исправить это, вы можете прокручивать элементы .parent и присоединять к ним события по отдельности. Попробуйте это:

$(".parent").each(function() { 
    $(this).resizable({ 
     alsoResize: $(this).find('.child') 
    }); 
}); 
+0

нет точки с запятой, необходимой после andResize: $ (this) .find ('. Child'). –

+0

спасибо друг. Не могли бы вы объяснить причину, почему мы используем каждую функцию? , ранее я пишу код без каждой функции, в то время работает также изменение размера div. –

+1

Это связано с тем, что ваша логика зависит от знания элемента '.child' текущего' .parent'. Для этого ваш код должен выполняться под каждым элементом '.parent', поэтому здесь требуется' each() '. –

Смежные вопросы