Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按element.innerText插入不间断空格_Javascript_Html_Firefox_Innerhtml_Innertext - Fatal编程技术网

Javascript 按element.innerText插入不间断空格

Javascript 按element.innerText插入不间断空格,javascript,html,firefox,innerhtml,innertext,Javascript,Html,Firefox,Innerhtml,Innertext,在web应用程序中,我在第一步动态创建一个很大且非常复杂的表,其中包含大约空的单元格(有些表单元格将保持空,有些则不保持空)。我的第一个方法是将innerHtml与a一起使用,以防止空单元格崩溃: td.innerHtml=''; 但这相当缓慢。然后我发现设置innerText比设置innerHtml快得多。所以我把代码改成了 td.innerText='\u00a0'; 因为td.innerText='刚刚在每个单元格中写入了文本'。它似乎在InternetExplorer11中工作,但在

在web应用程序中,我在第一步动态创建一个很大且非常复杂的表,其中包含大约空的单元格(有些表单元格将保持空,有些则不保持空)。我的第一个方法是将innerHtml与a一起使用,以防止空单元格崩溃:

td.innerHtml='';
但这相当缓慢。然后我发现设置innerText比设置innerHtml快得多。所以我把代码改成了

td.innerText='\u00a0';

因为
td.innerText='
刚刚在每个单元格中写入了文本
'
。它似乎在InternetExplorer11中工作,但在Firefox中,空单元格的边界消失了。但是,如果我检查单元格(通过Firebug或其他方式)并将其与以前的版本进行比较,我看不到任何差异。

元素。innerText
不是标准属性。它是由微软引入InternetExplorer的,但没有其他浏览器保证支持它(这就是为什么你会看到怪癖)


使用
element.textContent
或重新思考您的方法。生成10k空单元格表听起来是一个非常糟糕的主意。

Firefox不支持
innerText
,支持
textContent
innerText
是微软的专有扩展,iirc。我不确定我是否理解“崩溃”的含义,也不知道为什么CSS不能更有效地解决这个问题。不要用JS解决这个问题。使用
空单元格:显示对我不起作用:oChrome非常支持
innerText
。就像它支持
document.all
…我从来没有说过没有其他浏览器支持它,我说没有人保证支持,因为它不是标准的。在大多数情况下,单元格要少得多。10k是一种更为特殊的情况,但有时会发生。谢谢你的回答!由于旧IE(如IE9)在文本内容方面存在问题,我不得不同时使用这两种方法。对于跨浏览器文本设置,请使用jQuery查看是否需要多浏览器支持。