именна для 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, время: 13:32. |