javascript - 无法使用innerHTML

标签 javascript innerhtml

我是 Stack Overflow 和 JavaScript 方面的新手。首先,向大家问好,并提前感谢您的帮助。

我正在使用 Incomedia Website X5 Evolution 创建网站。在其中一个页面上,我想用服务器中的数据填充表。因此,我创建了一个表格并在每个单元格中插入以下 HTML 代码:

<!--#0000,0000-->

值代表行和列。我设法编写了一个 JavaScript 来更改每个单元格的值。但是当我想使用innerHTML替换HTML pahe的内容时,它不起作用。尽管如此,一切似乎都是正确的,因为旧的和新的 html 内容是相同的。即使我只是再次使用原始变量,它仍然不起作用。

您能告诉我问题出在哪里吗?

这里是 JavaScript 代码:

<script>

var i;
var div = document.getElementById('imTableObject_1');
div = document.getElementsByTagName('table');
var htmlContent = div[0].innerHTML;
var newHtmlContent = div[0].innerHTML;
var test = div[0].innerHTML;
var row,col;

//I can't understand why the scrip stop running at this line. I didn't change anything...
div[0].innerHTML = newHtmlContent ;

for (i=htmlContent.length - 5; i > -1; i--) {

if(htmlContent.charAt(i)=='#') {

    //alert(i);
    //alert(htmlContent.substring(i+6,i+10));
    row = parseInt(htmlContent.substring(i+1,i+5));     
    col = parseInt(htmlContent.substring(i+6,i+10));

    newHtmlContent = insertText(row,col,newHtmlContent,i);
};
};

alert(div[0].innerHTML);
alert(newHtmlContent );

//This does not work
div[0].innerHTML = newHtmlContent ;

alert("Done !");



function insertText (row, col, text, index) {

var length;
var newText;

length = getTextLength (text,index + 13);

//alert(htmlContent.substring(index+13,index+13+length));

newText = text.substring(0,index+13);
newText += "Titi too !";
newText += text.substring(index+13+length,text.length);

//alert(newText);

return newText ;

}

function getTextLength (text,startIndex) {

var i = 0;

for(i = startIndex ; i < text.length ; i++) {

    //alert(text.substring(i,i+7));

    if(text.substring(i,i+7) == "</span>") {

        return i - startIndex ;
    };
};

return -1;
}

</script>

最佳答案

您设置:

var newHtmlContent = div[0].innerHTML;

然后:

div[0].innerHTML = newHtmlContent ;

您正在将其内容设置为其已有的内容。因此,不会发生任何变化。

关于javascript - 无法使用innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16195661/

相关文章:

JavaScript(使用innerHTML 添加到div) 如果更改此代码,我会提高cordova 应用程序的速度吗?

javascript - 使用 css 或 jquery、javascript 平均增加所有框的高度

javascript - 如何使用 Jquery 处理作为按钮实现的下拉菜单

javascript - 复选框未选中 onclick JavaScript

javascript - 如何写长可读的innerHTML?

javascript - 沿循环打印值

javascript - ASP.NET JavaScript 斜杠符号转义

javascript - 对象上的意外 "arguments"属性

javascript - 使div在动画到顶部时返回到其原始位置(如跳跃效果)

JavaScript setDate 返回错误的日期