Я пытаюсь скрыть div и отобразить div, если другой div пуст. Следующий код работает:
<script type="text/javascript">
function isEmpty( el ){
return !$.trim(el.html())
}
if (isEmpty($('#region-content-copy'))) {
$('.regionseo').hide();
$('#generalbanners').show();
}
</script>
Но когда я пытаюсь поместить его в документ. Может ли кто-нибудь проливать свет на то, что я делаю неправильно?
<script type="text/javascript">
$( document ).ready(function isEmpty( el ){
return !$.trim(el.html())
}
if (isEmpty($('#region-content-copy'))) {
$('.regionseo').hide();
$('#generalbanners').show();
});
</script>
Благодарю!
Вместо того, чтобы пытаться узнать, пустой ли ваш div, вы должны подсчитать количество детей вашего div.
Я бы заменил вашу функцию isEmpty на:
function isEmpty( el ){
if(el.children().length==0)
return true;
else
return false;
}
И, как сказал seb, вы должны определить свою функцию из готового блока документа и разрешить вызов этой функции в готовом блоке.
если вы хотите поместить его в document.ready, вы должны сделать вот так:
$(document).ready(function () {
function isEmpty(el) {
return !$.trim(el.html())
}
if (isEmpty($('#region-content-copy'))) {
$('.regionseo').hide();
$('#generalbanners').show();
}
});
Вы можете проверить это
$( document ).ready(function(){
var chk = inEmpty($('#region-content-copy'));
// check the chk for your requirement
}
function inEmpty(el){
return !el.replace(/^\s+|\s+$/g,'');
}