Я новичок в переполнении стека, а также в JavaScript. Итак, прежде всего, привет всем и заблаговременно за вашу помощь.Не удается использовать innerHTML
Я использую Incomedia Website X5 Evolution для создания сайта. На одной из страниц я хочу заполнить таблицу данными с сервера. Итак, я создал таблицу и вставляю в каждую ячейку этот код HTML:
<!--#0000,0000-->
Значения представляют строку и столбец. Мне удалось написать javascript, чтобы изменить значение каждой ячейки. Но когда я хочу заменить содержимое HTML-пахе, используя innerHTML, он не работает. Тем не менее, все кажется правильным, поскольку старый и новый 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>
Вы уверены, что 'если (htmlContent.charAt (я) == '#') {' это всегда так? И что окружение 'for' работает правильно? – Ian
Что вы получаете от оповещений? –
также, вы могли бы также включить HTML? это может помочь –