Как я могу выполнить выбор, описанный в заголовке?Я думаю, что было бы довольно безопасно предположить, что такие ссылки не имеют ничего вроде .asdafasdfsaf
, .html
или .zip
в конце своих целей, поэтому я попробовал следующее:
var links = jQuery("a:not([href$='.*'])") // Period as is
var links = jQuery("a:not([href$='\.*'])") // One escape
var links = jQuery("a:not([href$='\\.*'])") // Two escapes
Похоже, что ничего из этого не делает ничего с точки зрения предотвращения выбора нежелательных ссылок.Как можно это исправить?
РЕДАКТИРОВАТЬ:
Эта попытка с RegExes не сработала:
function has_suffix (target_string) {
regex = RegExp("(\/.*\..*)$");
if ( regex.test(target_string) ) {
return true;
} else {
return false;
}
var links = jQuery("a").filter(
function () {
target = $(this).attr("href")
console.log(target)
return $(true,this) === has_suffix(target);
});
Проверка RegExp в консоли, кажется, дает результатычто я хочу, но на самом деле использование функции has_suffix
в фильтре вызывает у меня головную боль.Документация для filter
мне не нужна;в примерах это не совсем понятно.