Ответ 1
Да, вы можете превратить строку в элементы и выбрать из нее элементы. Пример:
var elements = $(theHtmlString);
var found = $('.FindMe', elements);
Я ищу способ получить элемент HTML из строки, содержащей HTML. Можно ли использовать селектор jQuery для этого?
В основном у меня есть функции javascript, которые получают всю страницу с сервера, но мне нужен только один элемент с этой страницы.
Заранее спасибо
Да, вы можете превратить строку в элементы и выбрать из нее элементы. Пример:
var elements = $(theHtmlString);
var found = $('.FindMe', elements);
Просто оберните html-текст в функцию $. Как
$("<div>I want this element</div>")
Если вы загружаете страницу динамически с сервера, вы можете направить только один элемент с загруженной страницы, используя следующую форму: .load()
$(selectorWhereToShowNewData).load('pagePath selectorForElementFromNewData');
Например:
$('#result').load('ajax/test.html #container');
Где: #result
, где загруженная страница страницы будет отображаться на текущей странице ajax/test.html
- это URL-адрес, на который отправляется запрос сервера.
#container
- это элемент на странице ответа, которую вы хотите отобразить. Только это будет загружено в элемент #result
. Остальная часть страницы ответа не будет отображаться.
Просто используйте $.filter
var html = "<div><span class='im-here'></span></div>"
var found = $(html).filter(".im-here")
Вы можете использовать $.find
var htmlVal = "<div><span class='im-here'></span></div>";
var spanElement = $(htmlVal).find("span");
var spanVal = found.text();