jQuery - 检查外部页面上的DIV是否存在,如果存在,则加载DIV,否则加载另一个

时间:2013-12-12 20:08:41

标签: javascript jquery html load

在小型操作仪表板的自定义天气页面上工作。 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函数失败。

我似乎无法找到任何示例或任何真正帮助我使这个脚本工作的东西。

谢谢。

1 个答案:

答案 0 :(得分:0)

在检查元素是否存在之前,您必须实际获取数据 您不能使用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'));
    }
});