Выбираете только определенную часть 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);
});