如何在“中转义html?”;innerHtml";属性是否使用javascript?

如何在“中转义html?”;innerHtml";属性是否使用javascript?,javascript,Javascript,我有一个javascript和jsp的组合,它添加了一些文本并对其进行转义。我还有一些javascrpt,可以让我在提交后编辑文本。但是,当单击“编辑”按钮时,html将呈现 function editCommentToggle( id ) { theRow = document.getElementById("id"+id); //user = theRow.cells[0].innerHTML; //date = theRow.cells[1].innerHT

我有一个javascript和jsp的组合,它添加了一些文本并对其进行转义。我还有一些javascrpt,可以让我在提交后编辑文本。但是,当单击“编辑”按钮时,html将呈现

    function editCommentToggle( id )
{
    theRow = document.getElementById("id"+id);
    //user = theRow.cells[0].innerHTML;
    //date = theRow.cells[1].innerHTML;
 -->   com = theRow.cells[2].innerHTML;


    idx = 2;
    maxlength = 250;

                // Comment field
        cell = theRow.cells[idx];
        while( cell.childNodes.length > 0 ) cell.removeChild(cell.childNodes[0]);
        element = document.createElement("textarea");
        element.id="comments-"+id;
        element.rows="3";
        element.value = com;
        element.style.width = "400px";
        element.maxLength = "250";
        element.onfocus = element.onkeydown = element.onkeyup = function(){return characterCounterEdit(undefined, maxlength, this);}; 
        cell.appendChild(element);
“row.cells[2].innerHTML;”正在抓取该单元格中的文本或html,但是如果说有一个“换行符”,它会显示一个

…我应该如何构造它来保留转义的html

thanx使用文本内容(或IE中的innerText)


我有一个旧的web应用程序,没有jQuery或其他高级库可用。我尝试了if-then-else-textContent/innerText-fix,但由于某些原因,对于动态创建的DIV元素无效。因此,我们必须实施这个替代修复。在Firefox、IE8、IE9和Opera上测试

// XMLEscape reserverd characters
function XMLEscape(sValue, bUseApos) {
  var sval="";
  for(var idx=0; idx < sValue.length; idx++) {
    var c = sValue.charAt(idx);
    if      (c == '<') sval += "&lt;";
    else if (c == '>') sval += "&gt;";
    else if (c == '&') sval += "&amp;";
    else if (c == '"') sval += "&quot;";
    else if (c == '\'') sval += (bUseApos ? "&apos;" : "&#39;");
    else sval += c;
  }
  return sval;
}

var sprite = document.createElement("DIV");
sprite.setAttribute("class", "sprite_red");
sprite.setAttribute("style", "top:" + nextOffsetTop +"px");
sprite.innerHTML = XMLEscape(items[idx]);
scene.append(sprite);
//xmlsecase保留的字符
函数XMLEscape(sValue,buseAppos){
var sval=“”;
for(var idx=0;idx
thanx朋友……让我试试
// XMLEscape reserverd characters
function XMLEscape(sValue, bUseApos) {
  var sval="";
  for(var idx=0; idx < sValue.length; idx++) {
    var c = sValue.charAt(idx);
    if      (c == '<') sval += "&lt;";
    else if (c == '>') sval += "&gt;";
    else if (c == '&') sval += "&amp;";
    else if (c == '"') sval += "&quot;";
    else if (c == '\'') sval += (bUseApos ? "&apos;" : "&#39;");
    else sval += c;
  }
  return sval;
}

var sprite = document.createElement("DIV");
sprite.setAttribute("class", "sprite_red");
sprite.setAttribute("style", "top:" + nextOffsetTop +"px");
sprite.innerHTML = XMLEscape(items[idx]);
scene.append(sprite);