Селектор идентификатора jQuery возвращает пустой массив, когда я смотрю на элемент - PullRequest
0 голосов
/ 03 апреля 2012

Я немного новичок в JavaScript, и я бью кирпичную стену этим битом здесь.

У меня есть jsTree, созданный с уникальными идентификаторами, основанными на именах файлов. Например,

<a id="node_:Folder4" href="#">Folder4</a>

Запуск селектора для

$("#node_:Folder4")

возвращается []. Вот картина точного вопроса, который я вижу. Есть мысли?

http://imgur.com/J9BaP

Ответы [ 2 ]

3 голосов
/ 03 апреля 2012

Вам нужно сбежать из двоеточия:

http://jsfiddle.net/MZA3b/1/

$('#node_\\:Folder4')

Не знаю почему, но я нашел здесь этот документ, в котором написано

Жетоны ID и NAME должны начинаться с буквы ([A-Za-z]) и могут быть за которыми следует любое количество букв, цифр ([0-9]), дефисов ("-"), подчеркивания ("_"), двоеточия (":") и точки (".").

http://www.w3.org/TR/REC-html40/types.html#type-name

Я, вероятно, смотрю на устаревший документ, но да, старайтесь избегать использования специальных символов в значениях атрибутов

2 голосов
/ 03 апреля 2012

Вам необходимо экранировать специальные символы - в данном случае двоеточие.

$("#node_\\:Folder4")
...