-1
Я хотел бы подытожить некоторые функции JavaScript. Например:обобщить функции в js
document.getElementByClassName("lamp")[0]; == selector(".lamp")[0];
В этом примере я не проблема, моя проблема заключается в следующем коде:
selector(".lamp")[0].selector(".school")[1].style.color = "red";
, когда я запускаю этот код консоли говорит:
Uncaught TypeError: selector(...)[0].selector is not a function(…)
и это это моя функция выбора:
function selector(string){
switch (string[0]) {
case '#':
string = string.replace('#','');
return document.getElementById(string);
break;
case '.':
string = string.replace('.','');
return document.getElementsByClassName(string);
break;
case '<':
string = string.replace('<','');
return document.getElementsByTagName(string);
break;
case '?':
string = string.replace('?','');
return document.getElementsByName(string);
break;
default:
console.log('i cant select it --by selector.js--');
}
}
Что мне делать?
Почему бы не использовать библиотеку выбора типа [SizzleJS] (https://sizzlejs.com /)? –
Ваш 'selector' уже встроен в браузеры, он называется' querySelector' – georg
. Ваша функция возвращает что-то вроде NodeList или Element, эти классы не имеют метода «selector». Вот почему цепочка не работает. Поэтому вы должны вернуть что-то, у которого есть член «селектор». (Вы могли бы использовать механизм прототипа, но я бы не рекомендовал этого.) – bert