使用javascript将html插入div

时间:2012-09-17 15:00:44

标签: javascript html

使用javascript更新div时遇到问题。

<script>
document.getElementById('advertisingBrandValues').innerHTML = "<p>The Mac is the most powerful   creative tool in the world, giving users unbridled potential to make everything from     bespoke family albums to industry-standard pop songs – iCreate is the key to unlocking that potential. Accessible, smart and authoritative, the iCreate brand thrives on the mantra ‘instruct, inform, inspire’, helping thousands of Mac users realise their creative ambitions.</p>";                   

</script>

<div id="advertisingBrandValues"></div>

我一直收到以下错误:

未终止的字符串文字 并且它表明错误与第一个P标签

有关

我是否需要做一些我传入innerHTML函数的HTML?

提前致谢!

3 个答案:

答案 0 :(得分:5)

Unterminated string literal通常意味着您尝试执行以下操作:

var str = "Blah blah blah
  more blah that should be part of the string
  even more blah.";

您无法在JavaScript中执行此操作,您必须结束字符串并附加下一行:

var str = "Blah blah blah\n"
  +"more blah that should be part of the string\n"
  +"even more blah.";

或者你可以逃避换行(不确定这是否完全是标准的):

var str = "Blah blah blah\
  more blah that should be part of the string\
  even more blah.";

另请注意,您尝试修改的元素尚未定义。确保您尝试修改的<div>位于<script>之前或推迟脚本或其内容(window.onload或类似内容)

答案 1 :(得分:0)

看起来文本中有回车符。

如果你有机会,可以在分配之前交换那些休息时间

stringWithReturnsIn.replace(/[\n\r]/g, '<br />');

如果你想保留回报,那么

stringWithReturnsIn.replace(/[\n\r]/g, ' ');

答案 2 :(得分:0)

问题可能是你正在使用的花哨的引号('和')。尝试用'。

替换它们

由于解析错误的数量和潜在的XSS漏洞,将HTML这样插入页面通常不是一种好的做法。考虑使用document.createElement()创建内部元素并在子元素中附加文本内容。假设结构保持不变,它会更加冗长,但修改起来会更加无缝。