load('file.html #target .subTarget')不起作用

时间:2011-11-22 12:44:27

标签: javascript jquery load

我在那里

我正在尝试

$(destino).load('all.html #reservas_1',function(){
                console.log('cargado!');
                alert($(destino).html()); //the alerts shows HTML
}).show();

它工作正常,

但传入的html代码被一个显示无包装的包裹,所以我正在尝试

$(destino).load('all.html #reservas_1 .content',function(){
                console.log('cargado!');
                alert($(destino).html());   //the alert shows black string
        }).show();

知道为什么吗?是因为我使用类作为选择器或是我无法加载子目标??

1 个答案:

答案 0 :(得分:1)

加载后可能需要更新html:

$(destino).load('all.html #reservas_1',function(){
            //$(destino).find('.content').unwrap();
            $(destino).html($(destino).find('.content').html());
            alert($(destino).html());   //the alert shows black string
    }).show();

看起来它允许只使用ID的选择器,因为它意味着它应该只是一个在请求页面上具有id的元素(通过html规范,它不应该是具有相同ID的2个元素)。所以,如果你将使用更复杂的选择器,它可以返回元素数组,jQuery不知道如何合并所有元素。

  

jQuery使用浏览器的.innerHTML属性来解析检索到的文档并将其插入到当前文档中。

如果您有元素数组,则不能以这种方式获取HTML。