0

JQueryを使用してHTML文字列から要素にアクセスしたい。

成功するとHTMLテキストを返す次のAJAX関数があります。Jqueryを使用して、そのHTMLテキストからタグのコンテンツのみを抽出したいと思います。

respHTMLコンテンツを含む変数があるとします。このHTMLコンテンツ内のタグのコンテンツに以下のようにアクセスしたいと思います。

var resp = "<html><head></head><body><form action="changePassword" name="fmChangePassword"> .... form elements .... </form></body> </html>"
alert(resp); //this alerts the full HTML content properly                 
alert($(resp).find("form").html()); //trial 1 -- returns NULL
var test = $(resp).find("#changePassword"); //#changePassword is the ID of the form
//alert(test.html());
displayChangePwdWindow(test);   //need to pass the form content here        

使ってみ.find()ましたがうまくいきませんでした。

誰かが私にこれを行う方法を手伝ってもらえますか?

4

3 に答える 3

1

多分あなたは.filter()の代わりに使う必要があります.find()あなたはデモをチェックすることができます:最初のデモ

または、それでも使用したい場合.find()は、HTMLをラッパーに配置して検索することができます。あなたは2番目のデモをチェックすることができます:2番目のデモ

于 2012-11-07T12:34:30.567 に答える
0

HTML
あなたの体に隠されたdivを作成してください...

<div id="DIVID" style="display:none"></div>

AJAX

$.ajax({
        type: "POST",
        url: url,
        error: function(jqXHR, textStatus, errorThrown)
        {alert(errorThrown);},
        success: function(resp){

         $('#DIVID').html(resp);
         var test = $("#changePassword").html();

         displayChangePwdWindow(test);  //need to pass the form content here    
        }
}); 

または..最初にボディに追加するだけです..非表示のdivを作成する必要はありません

$.ajax({
        type: "POST",
        url: url,
        error: function(jqXHR, textStatus, errorThrown)
        {alert(errorThrown);},
        success: function(resp){

         $(document.body).append(resp);
         var test = $("#changePassword").html();

         displayChangePwdWindow(test);  //need to pass the form content here    
        }
});
于 2012-11-07T12:18:37.050 に答える
0

これはあなたを助けることができるかもしれません

$.ajax({
   type: "POST",
   url: url,
   error: function(jqXHR, textStatus, errorThrown) {
      alert(errorThrown);
   },
   success: function(resp){
      var test = jQuery("<div/>").append(resp).find("#changePassword");
      alert(test.html());
      displayChangePwdWindow(test);  //need to pass the form content here    
   }
});
于 2012-11-07T12:22:04.010 に答える