Цитата:
<!DOCTYPE HTML> <html> <head> </head> <body> <div id='wrapper'> <div>1 </div> <div> 2</div> <div>3 </div> </div> <script> var wrapper_ = document.getElementById('wrapper'); var elem = wrapper_.children[1]; alert(wrapper_.children[3] == null);//wrapper_.children[3] == undefined, a undefined == null wrapper_.insertBefore(elem, wrapper_.children[3]) </script> </body> </html> |
что бы убрать все лишние элементы (комментарии, пробелы и ...) написал функцию remove_TextNode (кроссбраузерно)
<!DOCTYPE HTML> <html> <head> </head> <body> <div id='wrapper'> <div>1 </div> <div> 2</div> <!--text--> <div>3 </div> </div> <script> var wrapper_ = document.getElementById('wrapper'); var divs = wrapper_.getElementsByTagName('div'); console.log(wrapper_.childNodes); console.log( remove_TextNode(wrapper_.childNodes)); function remove_TextNode (array) { var leng = array.length; var elemArray, resultArray = []; for (var i = 0; i < leng;i++) { elemArray = array[i]; if (elemArray.nodeType != 1) continue; resultArray.push(elemArray); } return resultArray; } </script> </body> </html> |
Цитата:
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Документ без названия</title> </head> <body> <div id="content-wrap"> <!--text1--> <div></div> <div></div> <!--text 2 --> <div></div> </div> <script> var wrapper_ = document.getElementById('content-wrap'); /*var elem = wrapper_.children[4];*/ var divs = wrapper_.getElementsByTagName('div'); console.log(wrapper_.childNodes); console.log(remove_TextNode(wrapper_.childNodes)); function remove_TextNode (array) { var leng = array.length; var elemArray, resultArray = []; for (var i = 0; i < leng;i++) { elemArray = array[i]; if (elemArray.nodeType != 1) continue; resultArray.push(elemArray); } return resultArray; } </script> </body> </html> Вот это запускаю в ИЕ и ноль на массу... :( |
я запускал это в ие 8 и все работало
|
cyber,
Не робит ие6-8 |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Документ без названия</title> </head> <body> <div id="content-wrap"> <!--text1--> <div></div> <div></div> <!--text 2 --> <div></div> </div> <script> var wrapper_ = document.getElementById('content-wrap'); /*var elem = wrapper_.children[4];*/ var divs = wrapper_.getElementsByTagName('div'); alert('до обработки ='+wrapper_.childNodes.length+" после="+remove_TextNode(wrapper_.childNodes).length); function remove_TextNode (array) { var leng = array.length; var elemArray, resultArray = []; for (var i = 0; i < leng;i++) { elemArray = array[i]; if (elemArray.nodeType != 1) continue; resultArray.push(elemArray); } return resultArray; } </script> </body> </html> ![]() |
Цитата:
вы правы, не работает, но пародкс в том что alert(wrapper_.children[3] == null);//возвращает true |
cyber, не важно, что он возвращает, важно что IE это не воспринимает)))
|
Цитата:
|
Часовой пояс GMT +3, время: 12:16. |