Дом Исключение 12 в Zepto.js - PullRequest
       23

Дом Исключение 12 в Zepto.js

3 голосов
/ 03 октября 2011

Мне интересно, как исправить эту проблему в библиотеке Zepto.Это случилось, когда я попытался запустить:

$("#pro@");

Это указывает на строку 77, которая:

$.qsa = $$ = function(element, selector){
    return slice.call(element.querySelectorAll(selector))
}

Можете ли вы помочь мне?

1 Ответ

1 голос
/ 12 октября 2011

Какой элемент вы пытаетесь выбрать? В названии есть символ @? Например:

<div id="pro@">

Символ @ - это зарезервированный символ, который не ожидается в селекторах. По сути, Zepto или jQuery искали бы "#pro" плюс селектор "@", который он не понимает.

Способ обойти это - избежать символа @. В CSS вы должны сделать "#pro \ @", поэтому в JavaScript вам нужно сделать:

$("#pro\\@");

Лучшей стратегией было бы просто использовать a-z, 0-9, - и _ в своих идентификаторах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...