2

jQuery プラグインの一部として、奇妙なオブジェクト フォーマットが を使用してプルされ$.get()ます。つまり、どのポスト関数フックでも DOM トラバーサルは不可能です。

$.get($href)
.done(function(){
  $linkClicked.addClass('active')
})
.fail(function(){
  $.get(settings.errorUrl, function(){
    $('.main-navigation .active').removeClass('active')
  })

})
.always(function(data){

  // The below line does not work correctly
  $(settings.target).hide().html( $(data).children(settings.target).html() ).fadeIn('fast')

})

誰かが手を貸してくれたら、それは素晴らしいことです。どうもありがとう。

4

3 に答える 3

2

私はあなたがこのようにすることができると思います:

$.get('ajax/test.html', function(data) {
 var container = $('<div />').html(data);
 var contentYouNeed =  container.find('#ajaxID').html();
});

こちらのドキュメント( http://api.jquery.com/jQuery.get/ ) でわかるように、返さdataれる jQuery.get()のは PlainObject または String です。

データ
型: PlainObjectまたはString
リクエストとともにサーバーに送信されるプレーン オブジェクトまたは文字列。

このオブジェクトからコンテンツを取得するには、このデータを次の <div>ようなオブジェクトに入れます。

 var container = $('<div />').html(data);

そしてfind()、コンテンツを取得するために使用できます。

var contentYouNeed =  container.find('#ajaxID').html();
于 2013-07-10T11:20:06.747 に答える
1

いやいやいやいや。regexHTML の解析に使用しない場合は、こちらをお読みください。

また、問題を解決するには、jQuery セレクターを使用します。$("#yourID").html()

于 2013-07-10T10:53:04.547 に答える
0

応答は常に1 つのdiv 要素ですか? その場合は、その内容を取得するだけです。ID と属性が何であれ。

$.get('ajax/call.php', function(data) {
    var contents = $(data).html();
});
于 2013-07-10T11:39:35.050 に答える