LINUX.ORG.RU

помогите заточить скрипт под ie


0

0

немного html кода для ввода :
<table class="main" id="DataTr">
 <tr id="DataRow0">
  <td id="row1">
</td>
</tr>
</table>

если count < 4 то создаем нужно создать новый td
если count = 4  - создать новый tr и заполнять его

сам код

var d = document;
var count = 0;
var total_count = 0;
function addRow()
{

    if(count < 4)
    {
    
        var id = 'DataRow' + total_count;
        var row =  d.getElementById(id);
        //// Создаем ячейки в вышесозданной строке
        // и добавляем тх
        
        var td1 = d.createElement("TD");

        row.appendChild(td1);

        // Наполняем ячейки
        td1.innerHTML = d.getElementById('row1').innerHTML;
        count++;
    }
    else
    {
        total_count++; 
        var table = d.getElementById('DataTr');
        
        var tr = d.createElement('TR');
        tr.id = 'DataRow' + total_count;
        var td1 = d.createElement("TD");
       
        
        
        table.appendChild(tr); 
        tr.appendChild(td1);

        // Наполняем ячейки
        td1.innerHTML = d.getElementById('row1').innerHTML;
        alert(td1.innerHTML);
 
        count = 0;
       
    }
    
}

alert(td1.innerHTML) - показывает что все правельно
но в ie новый тег <tr> просто не появляеться на экран, хотя я к нему могу обратиться 

хелп!!!
anonymous

Я наверно немного соффтоплю, но не правильнее ли в аттрибутах id делать сквозную нумерацию? Надо ecma почитать.

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

ничего все замечания тоже приветствуються,
что значит сквозную
т.к.
1,2,3,4 ... ???

))
нужно будет почитать, но уже наверное не сегодня..
и не затра (

anonymous
()
Ответ на: комментарий от anonymous

Ну и судя по логике вот тут я бы сделал ноборот:

--        table.appendChild(tr); 
--        tr.appendChild(td1);
++        tr.appendChild(td1);
++        table.appendChild(tr); 

Anoxemian ★★★★★
()
Ответ на: комментарий от Deleted

Проверил — действительно, с <tbody> работает:

<table class="main">
<tbody id="DataTr">
 <tr id="DataRow0">
  <td id="row1">
</td>
</tr>
</tbody>
</table>

Deleted
()
Ответ на: комментарий от anonymous

что бы зря не создавать пост еще такой вопрос
есть ли sleep\wait в js ?

хочу зделать мигание кнопки при вводе

что=то типа
blink = document.getElementById('dates');
blink.style.background ='silver';
sleep(300);
blink.style.background = '#257cc6';


не могу найти аналог слипа ((
setTimeout ? Thread.Sleep ??

anonymous
()
Ответ на: комментарий от anonymous

>setTimeout

И чем не подходит?

Например:

blink = document.getElementById('dates');

blink.style.background ='silver';

setTimeout(function (){blink.style.background = '#257cc6';},300);

anonymfus ★★★★
()
Ответ на: комментарий от anonymous

> есть ли sleep\wait в js ? Нету. :'-( Есть всякие ухищрения с setTimeout, можно погуглить. Они как правило мучают процессор своими бесконечными циклами, можно легко скрипт подвесить...

Другое дело что почти всегда без sleep'а можно обойтись. Вот тут описано решение похожей задачи: http://www.juixe.com/techknow/index.php/2005/10/28/put-javascript-to-sleep/

Deleted
()
Ответ на: комментарий от anonymfus

> чем не подходит? >Например: >blink = document.getElementById('dates'); >blink.style.background ='silver'; >setTimeout(function (){blink.style.background = '#257cc6';},300);

тем что мне нужно менять bgcolor только когда пользователь вводи данные а не всегда

да согласен, можно еще одну ф-цию ввести, но я не думал что все так запущено (

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.