Выбираете только определенную часть HTML с XMLHttpRequest?

В настоящее время я загружаю HTML-код с веб-сайта и использую "responseText" для получения HTML-кода, теперь я хочу только определенную его часть. Как вы выбираете определенную часть кода HTML с XMLHttpRequest? Я уже исследовал это, используя Xpath или querySelectorAll, как мне это сделать практически и легко? Допустим, из кода HTML вы не хотите выбирать только -> div, где id="home-members".

Заранее спасибо!

Это коды:

foobar.com/index.html:

..........
.....
<body>
..........
<div id="home-members">
    ........
    .....
</div>
....
</body>

Мой код прохождения:

<script>
$.ajax({
   url: "http://foobar.com/index.php",
   cache: false
}).done(function( html ) {
   var partial = $(html).find("home-members");
   $("#results").append( partial);
})
</script>

<body>
    <div id="results"></div>
</body>

3 ответа

Мм, если я не понимаю неправильно...

responseText - это строка, так что вы можете выбрать ее части, используя regEx, но я думаю, что это может быть непросто и взломано.

другое решение может быть.. поместить текст ответа в div с помощью InnerHTML, чтобы вы могли использовать стандартные селекторы javascripts для получения различных элементов. что-то вроде..

document.getElementById('structural_div').innerHTML = responseText;

var what_you_need = document.getElementById('structural_div').getElementById('id_of_element_you_need').className

вместо getElementById('id_of_element_you_need') Вы можете получить элемент так, как хотите, по имени класса, по имени тега и т. д.

Надеюсь, что помог вам:)

Используйте jQuery для поиска возвращенного HTML. Что-то вроде:

$.ajax({
  url: "test.html",
  cache: false
}).done(function( html ) {
  var partial = $(html).find("div.dynamic-wrap.sidebar-wrap.clearfix");
  $("#results").append( partial);
});

Я рекомендую использовать HtmlAgilityPack для этого.

Другие вопросы по тегам