Селектор jQuery: ссылка не работает с $ .is () или $ .filter () ...? - PullRequest
3 голосов
/ 10 сентября 2010

Похоже, что селектор ":link" не поддерживается функцией jQuery filter() или is().Например, если я оцениваю $(":link") на странице, он возвращает несколько ссылок.Если я оцениваю $(":link").filter(":link") или $(":link").is(":link"), выдается ошибка.Сообщение об ошибке: «Синтаксическая ошибка, нераспознанное выражение: ссылка».

Это по замыслу?Разве filter() и is() не поддерживают одни и те же селекторы CSS, как это обычно делает jQuery?Есть ли документация о разнице?

1 Ответ

4 голосов
/ 10 сентября 2010

Патрик отметил, что в некоторых случаях jQuery по умолчанию использует встроенный в браузер querySelector или querySelectorAll , где он существует. Итак, :link, похоже, работает в некоторых браузерах, но я бы не советовал использовать его, так как он дает удивительно странные результаты.

<a href="www.foo.com">Hello</a>

alert($("a").is("a")); // do it this way

// changes the anchor's CSS, but does not return the length
alert($(":link").css('background','yellow').length); 

Демо: http://jsfiddle.net/xWPw7/4

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