работая на пользовательской странице погоды для небольшой панели инструментов ops. getweather#.php
сбрасывает информацию о погоде, которую я хочу, а затем index.php загружает определенные элементы по запросу с помощью jQuery.
поэтому - я пытаюсь получить jQuery, чтобы проверить, существует ли на внешней странице определенный DIV, и если да, то загрузите его, но если это не так, загрузите еще один DIV, который всегда будет существовать
основанный на других вопросах, которые я нашел здесь, я собрал этот код, думая, что это сработает:
<script>
$(function(){
if ($('getweather2.php?wx=1 #warning').is('*')) {
$('#wxwarning').load('getweather2.php?wx=1 #warning');
} else {
$('#wxwarning').load('getweather2.php?wx=1 #nowarning');
}
});
</script>
к сожалению, это, похоже, не работает, кроме того, это приводит к сбою всех других функций jQuery.
Кажется, я не могу найти какие-либо примеры или что-то действительно, чтобы помочь мне заставить этот скрипт работать.
Спасибо.
Вы должны фактически получить данные, прежде чем сможете проверить, существуют ли элементы или нет.
Вы не можете использовать load()
, поскольку он вставляет данные напрямую, но это просто ярлык для $.get
, поэтому вы можете использовать это вместо этого и проверить, существует ли этот элемент, и если он его вставляет, если не вставить другой элемент:
$.get('getweather2.php?wx=1', function(html) {
var el = $('<div />').append(html);
if ( el.find('#warning').length ) {
$('#wxwarning').html(el.find('#warning'));
}else{
$('#wxwarning').html(el.find('#nowarning'));
}
});
load()
?