2011-12-20 73 views
0

我試圖抓住通過AJAX動態加載的HTML子元素。它不工作。通過AJAX加載jQuery和HTML

$.get('test.html', function(data) { 

    var content = $('#content', data).html(); 

    console.log(content); // Logs "Null" 

    $('#result').html(content); 

    }); 

這裏是 'test.html的'

<!DOCTYPE html> 
<html lang="en" > 
<head> 
    <meta charset="UTF-8" /> 
    <title>Website</title> 
    <meta name="description" content="" /> 
    <meta name="keywords" value="" /> 
</head> 
<body> 

    <h1>Hello!!!</h1> 

    <div id="content">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam feugiat tincidunt tortor eu iaculis. Sed id urna sem, quis malesuada lacus. Nulla iaculis malesuada libero, id vehicula sapien imperdiet eu.</div> 

</body> 
</html> 

另外,如果我試試這個:console.log($(data));,螢火蟲給了我這樣的:

[<TextNode textContent="\n\n\n ">, meta, <TextNode textContent="\n ">, title, <TextNode textContent="\n ">, meta, <TextNode textContent="\n ">, meta, <TextNode textContent="\n\n\n \n ">, h1, <TextNode textContent="\n \n ">, div#content, <TextNode textContent="\n\n\n\n">] 

任何想法?

+0

其中是html文件中的#content? – 2011-12-20 21:08:35

+0

對不起......#持份者本來是#content。我固定在上面。 – 2011-12-20 21:19:02

回答

1

你犯了一個錯誤的內容var我相信,它沒有任何意義。

$.get('test.html #content', function(data) { 
console.log(data); // Logs "Null" 
$('#result').html(data); 
}); 

多數民衆贊成多麼jQuery網站會說這樣做。

我說用

$('#result').load('test.html #content'); 

怎麼樣了,對吧?

0

嘗試使用$就代替:

$.ajax({ 
    url:'test.html', 
    dataType:'html', 
    success:function(data) { 
    var content = $('#content', data).html(); 
    console.log(content); // Logs "Null" 
    $('#result').html(content); 
    } 
    }); 
+1

$ .get是您剛纔完成的快捷方式 – 2011-12-20 21:09:29

+0

是的,它也給了我相同的結果。 – 2011-12-20 21:12:20

+0

正確。我希望能夠確定參數的名稱。如果jQuery沒有正確地確定響應中MIME類型的數據類型,那麼主要的一點是要識別dataType。 – Travis 2011-12-20 21:15:47

0

我不是你想要做什麼很清楚,但我假設你想要得到的#content內容在test.html頁並將其注入您的#results div。

$.get('test.html', function(data) { 
    var content = $(data).find("#content").html(); 
    $('#result').html(content); 
}); 
+0

對不起...... #holder本意是#content,我在上面修正了,無論如何,我嘗試了你的建議,而'content'仍然以'null'註銷 – 2011-12-20 21:12:02

+0

當你console.log (數據)'在回調? – swatkins 2011-12-20 21:34:40

+0

它看起來像你期望的...文件的內容。 – 2011-12-20 21:38:03