Преобразование HTML-строки в объект JQuery
У меня есть строка HTML, которая представляет собой сочетание текста и HTML-тегов, которые я пытаюсь преобразовать в объект. Так, например, моя строка HTML будет выглядеть так:
Pay using your <img src="visa-src" /> or your <img src="mc-src" />
Я использую jquery 1.8.0 и пытаюсь использовать $(HTMLSTRING)
, но по какой-то причине он удаляет текст перед якорем и дает остальное, т.е. объект с дочерними #img, #text
и #img
, в то время как первый текст (Платите, используя ваш), стряхивается
Однако скажем, если вход:
<img src="visa-src" /> or your <img src="mc-src" />
он правильно дает мне объект с тремя дочерними элементами в нем #img, #text и #img.
Есть ли другие способы правильно преобразовать это?
Обновление:
Я в конечном счете смотрю на то, чтобы изменить каждый из img src там в строке HTML и добавить к нему некоторый хост.
Спасибо.
Ответы
Ответ 1
Используйте
$.parseHTML()
вместо
$(HTMLSTRING)
См. ниже JS Code..
var HTMLSTRING = 'Pay using your <img src="visa-src" /> or your <img src="mc-src" />';
var HTMLSTRING1 = '<img src="visa-src" /> or your <img src="mc-src" />';
console.log($.parseHTML(HTMLSTRING));
console.log($.parseHTML(HTMLSTRING1));
Демо-скрипт
Ответ 2
$.parseHTML()
анализирует строку в массив узлов DOM.
Чтобы создать объект, вам нужно добавить $()
:
$($.parseHTML(yourString))
Взгляните на эту скрипту: http://jsfiddle.net/j05ucnfv/
Ссылка: http://api.jquery.com/jQuery.parseHTML/