Выполните выбор jQuery для содержимого ajaxed HTML - PullRequest
0 голосов
/ 12 апреля 2010

Можно ли загрузить html-документ, используя ajax, а затем выполнить выбор jquery для загруженного html?

Я хочу выполнить поиск на удаленном сервере поиска, а затем использовать результаты для переформатирования существующей страницы.

EDIT : функция поиска, похоже, не возвращает результаты (длина всегда равна 0). Вот пример HTML

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>

    <p>Hello world</p>

    <p>good bye world</p>

</body>
</html>

А вот и jQuery:

$(document).ready(function() {

  $.ajax({
    url: 'content/HTMLPage.htm',
    dataType: 'html',
    success: function(data) {

      alert($(data).find('p').length);

    }
  });
});

Ответы [ 4 ]

0 голосов
/ 12 апреля 2010

Я действительно боролся с этим. Мне удалось загрузить весь документ и правильно выбрать его, но этот документ имел тип документа.

В противном случае это кажется возможным, но у него есть свои предостережения. У элементов, которые вы выбираете, должен быть хотя бы родительский узел. Я действительно не думаю, что могу что-то здесь отметить как ответ.

Этот HTML вернул 2 элемента:

<div>
  <p>Hello world</p>

  <p>good bye world</p>
</div>
0 голосов
/ 12 апреля 2010

Можно ли загрузить html-документ, используя ajax, а затем выполнить выбор jquery для загруженного html? - Да

Вы можете обрабатывать события, используя live () или делегат ()

0 голосов
/ 12 апреля 2010

Вы можете использовать что-то вроде этого:

$.get(url, function(data) {

  $(data).find();

} );

Вы в основном оборачиваете возвращенное содержимое HTML в объект jQuery.Тогда вы можете использовать селекторы jQuery с ним.

0 голосов
/ 12 апреля 2010

Вы можете, если можете ...

Вы можете просто использовать

var result = $(returned_html) ;

в обработчике успеха ajax, а затем выполните result.find('#id_of_anything'). Ваш ajax-вызов должен иметь здесь «dataType» в формате «html».

Ваша проблема в том, что «удаленный сервер поиска» вызывает «удаленный домен», который не будет возможно из-за политики того же происхождения ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...