【发布时间】:2012-01-28 15:43:41
【问题描述】:
我有一个关于我的 javascript 代码的问题(抱歉我的英语不太好)。但是,该代码有效,只有一个数据条目,结果 HTML 中的字符串在接近结尾处被截断(最后几个字符似乎被删除,字符删除的长度是一致的)。我想知道我是否达到了字符串限制或类似的东西。问题数据条目(存储在下面的 var gDef 中)有 4110 个字符长,这看起来应该不是问题...帮助?
以下是我的代码:
gI = document.gForm.gLinks.options[document.gForm.gLinks.selectedIndex].value;
definition = "";
gWord = (g[gI].getElementsByTagName("NAME")[0].childNodes[0].nodeValue);
gDef = (g[gI].getElementsByTagName("DEFINITION")[0].childNodes[0].nodeValue).replace(/\n/g,'<br />').replace(/\[/g,'<').replace(/\]/g,'>');
definition += ("<div class=\"word\">");
definition += ("<h3>"+gWord+"</h3>");
definition += ("<div class=\"definition\">"+gDef+"</div>");
definition += ("</div>");
document.getElementById("showGlossary").innerHTML = definition;
【问题讨论】:
-
如果您尝试:
console.log(gDef);完整的字符串是否出现在控制台中? -
类“定义”是什么样的?
-
类“定义”看起来像这样:.definition { background: #FF9;边框:1px 实心#000;填充:5px; }
-
酷,我不知道console.log。它看起来像这一行:gDef = (g[gI].getElementsByTagName("DEFINITION")[0].childNodes[0].nodeValue).replace(/\n/g,'
')。替换(/[/g,'');代码正在切割字符串 -
hmm...在玩了控制台之后...如果我删除上面一行中的所有 .replace() 以获得 (g[gI].getElementsByTagName("DEFINITION") [0].childNodes[0].nodeValue).replace(/\n/g,'
');控制台显示所有字符都在那里。如果我在 IE8 中加载页面就可以了。如果我在 FireFox 9.0.1 中加载页面,字符串会像以前一样被剪切。也许这是 FireFox 中的一个错误?
标签: javascript