Как я могу использовать innerHTML с createTextNode? - PullRequest
2 голосов
/ 07 ноября 2011

Я пытаюсь создать расширение chrome, и я делаю это, анализируя RSS-канал с XMLHttpRequest, а затем сохраняю проанализированные токены, такие как title & description, в массив.

После синтаксического анализа канала и сохранения токенов в массиве я затем перебираю массив и отображаю их во всплывающем окне расширения Chrome с помощью DOM. Это работает, но проблема в том, что каждый description имеет HTML-теги и показывает что-то вроде этого:

<p><img src="http://www.documentarywire.com/cover/college-inc.jpg" width="90" height="100" style="float:left; padding: 0 10px 20px 0"/></p>Even in lean times, the $400 billion business of higher education is booming. Nowhere is this more true than in one of the fastest-growing &#8212; and most controversial &#8212; sectors of the industry: for-profit colleges and universities that cater to non-traditional students, often confer degrees over the Internet, and, along the way, successfully capture billions [...]

HTML-теги взяты из feed , и у меня нет проблем с ними, все, что я хочу сделать, это заставить их фактически интерпретироваться как HTML, а не как текст. Я считаю, что это потому, что я использую createTextNode? Я должен использовать innerHTML? Я не уверен, как использовать innerHTML в следующем примере?

   var descriptionNode = document.createElement("div");
   descriptionNode.setAttribute("class", "description");
   descriptionNode.appendChild(document.createTextNode(item["description"]));
   detail.appendChild(descriptionNode);

Могу ли я опубликовать больше своего кода, если это поможет?

1 Ответ

6 голосов
/ 07 ноября 2011

Try:

var descriptionNode = document.createElement("div");
descriptionNode.className = "description";
descriptionNode.innerHTML = item["description"];
detail.appendChild(descriptionNode);

createTextNode создает текстовый узел, переданная ему строка обрабатывается как простой текст и присваивается свойству данных узла.Строка, присвоенная свойству innerHTML , обрабатывается как разметка и анализируется анализатором HTML браузера (или анализатором XML в самых современных браузерах в случае XML-документа) и превращается в элементы DOM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...