0

なぜこれが返さ[object Object]れるのですか??? #newコンテンツをアラートに戻したい。(実際には、そのテキストを新しいdivに追加したいのですが、この[object Object]問題が解決した場合はそれを行うことができます)

<script type="text/javascript">
      $(document).ready(function() {
        $.post("post.php", {"test": "hello"}, function(data) {
           var myDiv = $(data).filter("#new");
           alert(myDiv);
        });
      });
</script>
4

5 に答える 5

3

それは完全にうまく機能します。

alertオブジェクトのすべてのプロパティが表示されるわけではありません。これは、警告しようとしているものです。
そのために を使用してみてくださいconsole

//info on the jQuery DOM obj:
console.log(myDiv);

//info on the jQuery obj:
console.dir(myDiv);

例: http://jsfiddle.net/agNNW/ ( @Esailja に感謝)

于 2012-07-26T13:07:08.237 に答える
1

myDiv はその中の html にアクセスする必要があるオブジェクトなので、

html()HTMLが必要な場合はjqueryの関数を使用し、text()htmlの代わりにテキストが必要な場合はjqueryの関数を使用します

 myDiv.html();

   $(document).ready(function() {
    $.post("post.php", {"test": "hello"}, function(data) {
       var myDiv = $(data).filter("#new");
       alert(myDiv.html());
    });
  });
于 2012-07-26T13:05:52.910 に答える
0

myDiv には jQuery オブジェクトが含まれるため、その内容を表示したい場合は、次を使用する必要があります

alert(myDiv.text());

また

alert(myDiv.html());

また

console.log(myDiv);
于 2012-07-26T13:09:41.957 に答える
0

私はワイルドな推測をして、それが完全に機能していると言うつもりです. あなたmyDivがDOM要素である場合、それはオブジェクトであり、alertそれを印刷する方法がわかりません。デバッグ目的でアラートに依存しないでください。DOM 要素に追加してみてください。おそらく問題なく動作します。

于 2012-07-26T13:06:13.493 に答える
0

多くの jQuery メソッドと同様.filter()に、jQuery オブジェクトを返すため、現在のアラートは正しく表示され[object Object]ます。

が html の文字列であると仮定すると、次のようにして、その html 内dataの要素の内容を確認できます。#new

var myDiv = $(data).filter("#new");
alert(myDiv.html());
// or
alert(myDiv.text());
// or put the text in a variable:
var newText = myDiv.html();
// or
var newText = $(data).filter("#new").html();

他の要素に追加するには:

$("#someotherelement").append(myDiv.html());
于 2012-07-26T13:07:01.087 に答える