Привет, ребята, у меня недавно был этот вопрос, поэтому подумал, что поделюсь им с вами!
Вопрос
«Селектор jQuery ссылается на элементы CSS, почему?»
Ответ
Элементы jQuery могут включать в себя схемы именования CSS в идентификаторах, и они могут интерпретироваться как нотация CSS
(особенно при использовании двоеточий «:» и точек «.»). Атрибуты jQuery ID могут содержать точки, двоеточия, буквы, цифры, дефисы и подчеркивания. Ответ заключается в том, чтобы убежать от этих персонажей, поместив перед ними две обратные косые черты.
Например:
// Does not work
$("#some:id")
// Works!
$("#some\:id")
// Does not work
$("#some.id")
// Works!
$("#some\.id")
Исправить это с помощью функции!
function jq(myid) {
return '#' + myid.replace(/(:|.)/g,'\$1');
}
//usage:
$( jq('some.id') )