如果某些条件成立,我想调整div的高度。
具体来说,我想查找任何包含textarea且其中存在错误消息div的.element div。
$('.element').each(function() {
if ( $(this).find('textarea') && $(this).find('.error-message') ) {
$(this).css('min-height', '80px');
}
});
在这种结构下,只有中间div应该具有额外的高度:
<div class="element">
<input type="text" />
</div>
<div class="element">
<div class="error-message"></div>
<textarea></textarea>
</div>
<div class="element">
<input type="text" />
</div>
最佳答案
.length
在这里将是您的朋友:
$('.element').each(function() {
if ($(this).find('textarea').length && $(this).find('.error-message').length) {
$(this).css('min-height', '80px');
}
});
div {
border: 1px solid #999;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="element">
<input type="text" />
</div>
<div class="element">
<div class="error-message"></div>
<textarea></textarea>
</div>
<div class="element">
<input type="text" />
</div>
在使用选择器找到合适的元素时,为了在
if
条件下测试它们,您将需要使用.length
来返回jQuery对象中的元素数。