Преобразование экранированного текста в HTML в JavaScript?

0

Я использовал $.get и получил такие данные, как

'<option value=\"US-ID\" >Idaho<\/option>\n  <option value=\"US-IL\" >Illinois<\/option>\n  <option value=\"US-IN\" >Indiana<\/option>\n  <option value=\"US-KS\" >Kansas<\/option>\n'

Я хочу использовать $(...).html(html_data) как мне сделать данные, которые я получаю в html-данные, которые я могу использовать?

что я получаю, когда $(...).html(data)

http://jsfiddle.net/9WeUv/

Не знаю, имеет ли это значение, но console.log(data):

'...data...'

тогда как console.log('regular_string'):

regular_string//без кавычек

  • 0
    Откуда взята строка? Что добавляет символы ``?
  • 0
    Может быть, запрос Ajax?
Теги:
dom

2 ответа

2

Что не так:

var html_data = '<option value=\"US-ID\" >Idaho<\/option>\n  <option value=\"US-IL\" >Illinois<\/option>\n  <option value=\"US-IN\" >Indiana<\/option>\n  <option value=\"US-KS\" >Kansas<\/option>\n';

$('#select_element_id').html(html_data);

http://jsfiddle.net/45CYX/

После редактирования:

Извините, не строка, которую вы получили, тот, который вы написали сверху? В jsFiddle у вас нет JS-кода, просто текст в теге select - это не то, что вы говорите в вопросе.

  • 0
    по какой-то причине, когда я это сделал, там были бы <\ / option>, \ n и т. д.
  • 0
    Насколько я знаю, функция html() в jQuery позаботится о десериализации строки для вас.
Показать ещё 1 комментарий
0

Предположим, вы схватили html из вызова ajax и хотите добавить его в тело.

$newSelect = $("<select></select>").html(html_data);
$(document.body).append($newSelect);

http://api.jquery.com/jQuery/#jQuery2 - Создает элементы DOM на лету из предоставленной строки необработанного HTML.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню