Javascript-форум (https://javascript.ru/forum/)
-   Internet Explorer (https://javascript.ru/forum/css-html-internet-explorer/)
-   -   Скрипт не хочет работать в IE. (https://javascript.ru/forum/css-html-internet-explorer/35777-skript-ne-khochet-rabotat-v-ie.html)

windmix 21.02.2013 18:58

Скрипт не хочет работать в IE.
 
Вроде код то простой... Но IE не хочет его запускать. Регистр маленький совпадений в имени нет...
<script type="text/javascript">
function tests() {
var text = "Тут текс";
var text2 = "Тут текс2";
document.getElementById('test').innerHTML = text;
document.getElementById('test2').innerHTML = text2;
}
</script>

<table>
<tr id="test"></tr>
<tr>
<td id="test2"></td>
</tr>
</table>

<input type="button" onclick="tests();" value="Кнопка" />
или
<a href="#" onclick="tests();" />Кнопка</a>

danik.js 21.02.2013 19:14

Структуру таблицы нельзя менять через innerHTML в IE
первая строчка кода откажется работать, а вторая бы сработала как надо.

MadBuldog 14.04.2013 00:03

и как меня структуру таблицы в IE?
for (var key0 in ItemArr) {
			for (var key1 in ItemArr[key0]) {
				if (parseInt(k/4)==k/4) {
					tr=document.createElement('TR')
					table.appendChild(tr)
				}
				var td=document.createElement('TD')
				var img=document.createElement('IMG')
				//td.innerHTML='<img src="'+ItemArr[key0][key1].img+'" id="'+ItemArr[key0][key1].id+'">'
				img.src=ItemArr[key0][key1].img;
				table.appendChild(tr)
				tr.appendChild(td)
				td.appendChild(img)
				k++
			}	
		}

не работает в IE 8 даже без innerHTML

danik.js 14.04.2013 06:53

Вставь пример в
[html run]...[/html]
чтоб можно было запустить его и проверить.

MadBuldog 14.04.2013 19:32

<html>
<head><title>test</title></head>

<body>
<table id="tab_inv" width="100%">
			</table>

<input type="button" value="run" onclick="viewtab()">

<script type="text/javascript">

	ItemArr = {
			Type1: {
				item1: {
					id: 'item1-1',
					img: 'img/items/item1-1.png'
					},
				item2: {
					id: 'item1-2',
					img: 'img/items/item1-2.png'
					},
				item3: {
					id: 'item1-3',
					img: 'img/items/item1-3.png'
					},
				item4: {
					id: 'item1-4',
					img: 'img/items/item1-4.png'
					}
			},
			Type2: {
				item1: {
					id: 'item2-1',
					img: 'img/items/item2-1.png'
				}
			}
		};

function viewtab() {
	var table=document.getElementById('tab_inv');
 
 while (table.firstChild)
      table.removeChild(table.firstChild);	
	
	var tr

		k=0;
		for (var key0 in ItemArr) {
			for (var key1 in ItemArr[key0]) {
				if (parseInt(k/4)==k/4) {
					tr=document.createElement('TR')
					table.appendChild(tr)
				}
				var td=document.createElement('TD')
				var img=document.createElement('IMG')
//				td.innerHTML='<img src="'+ItemArr[key0][key1].img+'" id="'+ItemArr[key0][key1].id+'" onmouseover="showpopup(this)">'
				img.src=ItemArr[key0][key1].img;
				img.id=ItemArr[key0][key1].id;
				table.appendChild(tr)
				tr.appendChild(td)
				td.appendChild(img)
				k++
			}	
		}

	
	var ek=((k/4)-parseInt(k/4))/0.25;
	if (ek!=0) {
		for (var i=0;i<(4-ek);i++) {
			var td=document.createElement('TD')	
			td.innerHTML='<img src="img/slot_empty.png">'
			tr.appendChild(td)
		}
	}
}
</script>
</body>
</html>

danik.js 15.04.2013 03:06

Цитата:

Сообщение от MadBuldog
img: 'img/items/item2-1.png',

В IE trailing commas (хвостовые запятые) расцениваются как ошибка.

MadBuldog 15.04.2013 13:32

Цитата:

Сообщение от danik.js (Сообщение 246229)
В IE trailing commas (хвостовые запятые) расцениваются как ошибка.

Вы имеете ввиду конкретно эту запятую? Убрал её - результат прежний.

danik.js 15.04.2013 16:26

Цитата:

Сообщение от MadBuldog
var tr
        k=0;

Тут что происходит?
Цитата:

Сообщение от MadBuldog
createElement('TD')

Не уверен что кэпслок нужно использовать.
Цитата:

Сообщение от MadBuldog
table.appendChild(tr)

А где tbody? IE может это и не переваривает. А вобще, че гадать? Открой консоль да посмотри ошибки.

MadBuldog 15.04.2013 21:15

Цитата:

Сообщение от danik.js (Сообщение 246336)
А где tbody? IE может это и не переваривает. А вобще, че гадать? Открой консоль да посмотри ошибки.

Большое спасибо. Добавил tbody с нужным id и IE скушал.
И на будущее, где в IE консоль? FireBug в лисе не ругался на скрипт.

danik.js 16.04.2013 07:57

Цитата:

Сообщение от MadBuldog
где в IE консоль

F12


Часовой пояс GMT +3, время: 11:02.