createTextNode вставляется обычным текстом
Здравствуйте! использую createTextNode для вставки текста в div, можно ли сделать так, чтобы при вставке он всё-таки учитывал его как html код ( как innerHTML ) и все теги <> не как простой текст
<!DOCTYPE html> <html lang="en"> <head> <title>createTextNode example</title> <script> function addTextNode(text) { var newtext = document.createTextNode(text), p1 = document.getElementById("p1"); p1.appendChild(newtext); } </script> </head> <body> <button onclick="addTextNode('<h1>YES!</h1> ');">YES!</button> <hr /> <p id="p1">Хочу чтобы было заголовком</p> </body> </html> |
insertAdjacentHTML('beforeend', 'abc')
|
не получилось....
конкретно есть такой кусок кода /* Render this widget into the DOM */ AddUpWidget.prototype.render = function(parent,nextSibling) { this.parentDomNode = parent; this.computeAttributes(); this.execute(); var textNode = this.document.createTextNode(this.currentSum); parent.insertBefore(textNode,nextSibling); this.domNodes.push(textNode); }; он вставляет currentSum обычным текстом, а нужно переделать так, чтобы вставлялся хтмл код. как это сдлать? |
Цитата:
<!DOCTYPE html> <html ng-app> <head> <!-- <script src='http://code.jquery.com/jquery-latest.js'></script> <script src="http://code.angularjs.org/1.1.4/angular.min.js"></script> <link rel='stylesheet type=text/css href=tmp.css' /> --> <style type='text/css'> </style> <script type='text/javascript'> function addTextNode(text) { var o = document.createElement('div'); o.innerHTML=text var p1 = document.getElementById("p1"); o=o.childNodes; for (var i=0; i<o.length; i++) { p1.appendChild(o[i]); }; }; </script> </head> <body> <button onclick="addTextNode('<h1>YES!</h1> ');">YES!</button> <hr /> <div id="p1"> <p>Хочу чтобы было заголовком</p> </div> </body> </html> |
Или вообще вот так. :D
<!DOCTYPE html> <html ng-app> <head> <!-- <script src='http://code.jquery.com/jquery-latest.js'></script> <script src="http://code.angularjs.org/1.1.4/angular.min.js"></script> <link rel='stylesheet type=text/css href=tmp.css' /> --> <style type='text/css'> </style> <script type='text/javascript'> function addTextNode(text) { document.getElementById("p1").innerHTML+=text; }; </script> </head> <body> <button onclick="addTextNode('<h1>YES!</h1> ');">YES!</button> <hr /> <div id="p1"> <p>Хочу чтобы было заголовком</p> </div> </body> </html> |
это понятно, только тут createTextNode совсем не использовано.
а у меня уже есть эта текстовая ветка , она уже сосздана var textNode = this.document.createTextNode(this.currentSum); нужно эту ветку преобразовать в хтмл, перед тем как она вставится parent.insertBefore(textNode,nextSibling); this.domNodes.push(textNode); возможно текст в html преобразовать? |
sovsem-nub, текстовая нода она и есть текстовая, как ее не преобразуй... ;)
Цитата:
|
пошло поехало
туплю. реально innerhtml ... просто бедный js не знал куда его пихать.
так сработало AddUpWidget.prototype.render = function(parent,nextSibling) { this.parentDomNode = parent; this.computeAttributes(); this.execute(); var divNode = this.document.createElement("span"); divNode.innerHTML = this.currentSum; parent.insertBefore(divNode,nextSibling); this.domNodes.push(divNode); |
Часовой пояс GMT +3, время: 13:23. |