1

以下代码以“未定义”的形式向屏幕发送警报。我想提醒一下html#div

    $.ajax({
        type: "POST",
        url: pageurl,
        dataType: "html",
        success: function(data){
            alert($(data).children("#div").html());
        }       
    });

我可以做类似加载的事情,但我不认为我被允许:

    url: pageurl + ' #div'

我该如何解决这个问题?

更新:根据@Murali 的建议,我尝试了以下方法,但它的行为仍然不像我想要的那样:

<html>
<head>
<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {  
    $.ajax({
            type: "POST",
            url: 'index.html',
            dataType: "html",
            success: function (data) {                    
                alert($(data).find('#site-content').html());
            }
        });
});
  </script>

<title></title>
</head>
<body>
<div id="site-content">
    some data</div>
</body>
</html>
4

2 回答 2

2

尝试

改变这个

 $(data).children("#div").html()

 $(data).find('#yourDivId').html()

注意:yourDivId -> 给出 div 的 id。在您提到的“#div”代码中,不确定您的代码是否真的像<div id='div'>

我试过的代码

在 Index.html 中

      $.ajax({
            type: "POST",
            url: 'page.html',
            dataType: "html",
            success: function (data) {                    
                $(data).find('#site-content').html();
            }
        });

在 Page.html 中

 <head>
<title></title>
</head>
<body>
<div id="site-content">
    some data</div>
</body>
</html>
于 2012-11-20T11:34:01.780 回答
0

你确定吗

$(data).children("#div") 

返回定义的元素?试试这个:

String($(data).children("#div").html());

或尝试

console.log($(data).children("#div").html());

为放心返回的数据是字符串而不是空的。

于 2012-11-20T11:50:55.563 回答