JQuery найти якорный тег с точным href
Я использую следующий код для поиска тегов привязки с соответствующим URL-адресом href. В настоящее время он будет возвращать привязки, ссылающиеся на запрошенный URL, например. /images
И любые ссылки на подпапки этого URL-адреса, например. /images/recent
. Я бы хотел, чтобы он возвращал только первый, если я только прошу /images
.
$menuChildren = $menuChildren.has('a[href^="'+relativeUrl+'"],a[href^="/'+relativeUrl+'"],a[href^="'+url+'"]');
Ответы
Ответ 1
Вы используете ^=
, Атрибут начинается с селектора. Как следует из его названия, оно соответствует атрибутам, значения которых начинаются со строки соответствия. Вместо этого используйте =
, Селектор равных атрибутов, который требует точного соответствия:
$menuChildren = $menuChildren.has('a[href="'+url+'"]');
Ответ 2
Если вы хотите точно сопоставить href, используйте [href=...]
version
$menuChildren = $('a[href="' + relativeUrl + '"]');