IE中的字符串赋值语句问题[JavaScript]

时间:2011-03-09 05:52:46

标签: javascript string internet-explorer extjs

我在JavaScript字符串赋值语句中面临一些奇怪的问题。 'markup'是一个字符串变量,其数据为HTML标记 -

var markup= "<div id="element" ><link href="http://test.com/css/web.css" rel="stylesheet"><div class="testClass"><span></span></div>";

this.el.dom.innerHTML = markup;

在IE中,将此字符串分配给ExtJs元素的innerHTML后,它会删除所有like和样式标记,this.el.dom.innerHTML包含以下值 -

"<div id="element" ><div class="testClass"><span></span></div>";

任何人都可以帮我弄清楚为什么会这样吗?

注意:分配声明在Firefox和Chrome中运行文件。

编辑:标记变量作为参数传递给函数,因此我认为我无法控制更改引号。

3 个答案:

答案 0 :(得分:0)

尝试:

var markup= '<div id="element" ><link href="http://test.com/css/web.css" rel="stylesheet"><div class="testClass"><span></span></div>';

您使用不同的引号保持打开和关闭语句,因此请使用单个刻度标记包裹整个字符串,以便您可以继续使用“整个字符串中的标记。”

答案 1 :(得分:0)

var markup= '<div id="element" ><link href="http://test.com/css/web.css" rel="stylesheet"><div class="testClass"><span></span></div>';

this.el.dom.innerHTML = markup;

答案 2 :(得分:0)

你应该写

 var markup= "<div id=\"element\" ><link href=\"http://test.com/css/web.css\" rel=\"stylesheet\"><div class=\"testClass\"><span></span></div>";
 this.el.dom.innerHTML = markup;