Выберите ссылку по тексту (точное соответствие) и замените href - PullRequest
0 голосов
/ 21 февраля 2020

Может кто-нибудь продемонстрировать мне, как реализовать этот фильтр jquery в приведенном ниже сценарии, который у меня есть. Как я хочу, чтобы найти ссылку, которая содержит именно слово «продукты»

$('a').filter(function(index) { return $(this).text() === "Products"; });

Обратите внимание, что код ниже изменяет ОБА ссылки, а не только первые

$(document).ready(function() {
  $("a:contains('Products')").attr('href', '/category/All-Products')
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#">Products</a> 
<a href="#">My Products</a>

1 Ответ

0 голосов
/ 21 февраля 2020

Просто замените селектор на фильтр:

$(document).ready(function() {
  $('a').filter(function() { 
    return $(this).text() === "Products"; 
  }).attr('href', '/category/All-Products')
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<a href="#">Products</a> 
<a href="#">My Products</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...