именна для id
решил я сделать велосипед и когда я ввел класс а потом Id на русском я был жестоко удивлен
я думал что id должен быть на английском <!DOCTYPE HTML> <html> <head> </head> <body> <div id='че за ...?' class='че за ...?'>как оно вообще работает?О_о</div> <script> alert( document.getElementById('че за ...?').innerHTML) alert(document.getElementsByClassName('че за ...?')[0].innerHTML) </script> </body> </html> |
cyber,
В старых версиях браузеров и ИЕ id на русском не проходит |
в ие8 проходит, а на все что ниже я забил=)
|
еще хотел спросить, велосипед норм получился?
function $(selector) { var d = document; if (!selector) return; function querySelector(){ if(!d.querySelectorAll) return getEelemet(); return d.querySelectorAll(selector); }; function getEelemet () { var selectorType = selector.match(/(#|\.|[A-Z]|[a-z]){1}/); var match = selectorType[0]; if (match[0] == '#') { return d.getElementById(selector.replace('#','')) } if (match == '.') { return d.getElementsByClassName(selector.replace('.','')) } try{ return d.getElementsByTagName(selector); } catch (e) { return; } } return querySelector(); } |
а если так надо $("#id, #id2")?
|
А если на странице 2 элемента с одним классом?
|
Цитата:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <script > function $(selector) { var d = document; if (!selector) return; function querySelector(){ if(!d.querySelectorAll) return getEelemet(); return d.querySelectorAll(selector); }; function getEelemet () { var selectorType = selector.match(/(#|\.|[A-Z]|[a-z]){1}/); var match = selectorType[0]; if (match[0] == '#') { return d.getElementById(selector.replace('#','')) } if (match == '.') { return d.getElementsByClassName(selector.replace('.','')) } try{ return d.getElementsByTagName(selector); } catch (e) { return; } } return querySelector(); } </script> </head> <body> <a href="#" id="link">Ссылка с <i>подсказкой</i></a> <a href="#" id="link2">Еще ссылка</a> <script> alert($('#link, #link2').length) </script> </body> </html> |
<div id="id1">id1</div><div id="id2">id2</div> <script> alert(document.getElementById("id1, id2").length); </script> А почему так не работает? |
потому что скрипт по умолчанию использует querySelectorAll
http://learn.javascript.ru/searching...electorall-css |
Часовой пояс GMT +3, время: 11:51. |