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, время: 00:14. |