Jquery .html() вырезает теги
Привет всем!
Столкнулся с тем, что необходимо через .html() получить содержимое элемента c строки. Само содержимое также состоит их тегов. Например var str='<ul> <li id="1"><option value='1'>TEST1<option></li> <li id="2"><select><option value='2'>TEST2<option></select></li> </ul>'; Сам код function parseTEXT (data) { $('#manufactute_object').append($(data).find("li.#1").html()); } Так вот с вариантом TEST2 все в норме. Передает все теги внутри <li></li> А в ТEST1 теги <option value='1'><option> просто убираются. И чего это вдруг так? |
value='1' - одинарные кавычки - это так и надо?
|
Менял кавычки на двойные, одинарные. Нечего не дало...Данные все равно без тегов выходят. Что ж не так то?
|
ART-DELI,
тег <option> это элемент <select> без селекта будет только текст этого опциона |
Я понял... значит пойду колбасить тогда регулярку... Спасибо!
|
Помогите с регуляркой. Что то не выходит.
Входные данные var data='[key:value] [key:value] [key:value] [key:value] [key:value]'; Функция function parseTEXT (data) { var str=$(data).find("li.#1").html(); var re=new RegExp("/[(\b+):(\w+)]/","g"); var arr=re.exec(str); } Нужно каждый элемент [key:value] получить без скобок [] и присвоить массиву . Что бы потом можно было пройтись по массиву и обвернуть данные. Заранее благодарен! |
ART-DELI,
Вариант... var data='[key:value][key:value][key:value][key:value][key:value]'; function parseTEXT(c) { for (var d = RegExp("\\[(.+?):(.+?)\\]", "g"), b = [], a; (a = d.exec(c)) != null;) b.push(a[1], a[2]); return b }; alert(parseTEXT(data)); или так var data='[key:value][key:value][key:value][key:value][key:value]'; function parseTEXT(c) { c = c.replace(/:/g,',').split(/\[|\]\[|\]/) return c }; alert(parseTEXT(data)); |
Все решил.
|
Часовой пояс GMT +3, время: 21:51. |