Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Проверить наличие элемента на странице (https://javascript.ru/forum/dom-window/12118-proverit-nalichie-ehlementa-na-stranice.html)

KonstantinK 01.10.2010 14:52

Цитата:

Сообщение от HelpeR
да почему то insertBefore не работает для таблиц

Это предположение или факт? Мне почему-то кажеться(надо проверить) что я как то уже вставлял так в таблицу и работало. Просто у меня еще две функции подобного рода я их хотел после этой отладить.

HelpeR 01.10.2010 14:55

Цитата:

Сообщение от KonstantinK (Сообщение 72691)
Это предположение или факт?

Факт!

sotik 21.09.2013 01:02

Есть пару строк кода:
var myknop;
myknop=document.getElementById ('myknop');
remove(myknop);
if( myknop != null )return;
function remove( elem ) {
if ( elem ) elem.parentNode.removeChild( elem );
}
Элемент кнопка.
После его удаления условие упорно выдает не null и происходит return.
Как это победить?

ricos 17.11.2013 13:07

var table = document.getElementById('collapseobj_similarthreads'),
    tr1 = table.getElementsByTagName('TR')[2],
    tr = document.createElement('TR'),
    td;
for(var i=0; i<5; i++) {
    td = document.createElement('TD');
    td.appendChild(document.createTextNode('Тест'));
    tr.appendChild(td);
}
table.insertBefore(tr, tr1);


Запустите в консоли и проверьте таблицу внизу этой ветки (Похожие темы).

в качестве table используется не таблица, а tbody. tr не является прямым потомком table, браузер автоматом создает tbody.

ricos 17.11.2013 13:16

sotik, если вопрос еще актуален, ты удалил элемент из родителя, но переменная не была очищена, и используя ее ты можешь заново вставить этот элемент куда-либо. Помимо removeChild тут надо явно присваивать myknop = null;


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