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 に答える