У меня есть путь через

var pathname = window.location.pathname;

Теперь у меня несколько тегов

<ul>
<li><a href="/1">1</a>
<li><a href="/12">12</a>
<li><a href="/13">13</a>
<li><a href="/14">14</a>
</ul>

Теперь я хочу найти <a> с pathname, который я извлек

Я пробовал это

$("ul").find(pathname+" a").parent().css('background-color", "red");

Я получил ошибку в консоли, что недействительное свойство / 1, что-то в этом роде. Может кто-нибудь мне помочь ?

0
Alen 23 Июл 2017 в 12:43
1
$('a[href="'+pathname +'"]');?
 – 
DarkBee
23 Июл 2017 в 12:45
$ ('a [href = "' + путь + '"]')
 – 
Sam Axe
23 Июл 2017 в 12:46
... что сказал @DarkBee ...
 – 
Sam Axe
23 Июл 2017 в 12:46
Во-первых, это должно быть «background-color» вместо «background-color». Затем см. Мой ответ ниже :)
 – 
Code Spy
23 Июл 2017 в 14:29

4 ответа

Привет, может быть, вы можете попробовать что-то вроде этого, поэтому, если вы будете использовать правильный селектор и проверить, содержит ли он текущую строку пути. Надеюсь, это поможет.

      <div>John Resig</div>
        <div>George Martin</div>
       <div>Malcom John Sinclair</div>
        <div>J. Ohn</div>

      <script>
       $( "div:contains('John')" ).css( "text-decoration", "underline" );
        </script>

Jquery Docs

1
Beny 23 Июл 2017 в 12:48

Сделайте это с помощью цикла each:

var pathname = window.location.pathname;
$("ul li a").each(function(){

   if($(this).attr('href') == pathname ){
      $(this).css('background-color", "red");
   }

})
1
Govind Samrow 23 Июл 2017 в 12:50
$("ul").find('a href=["'+pathname+'"]').parent().css("background-color", "red");
1
Osama 23 Июл 2017 в 13:04

Попробуй это

HTML

<ul>
 <li><a href="/1">1</a>
 <li><a href="/12">12</a>
 <li><a href="/13">13</a>
 <li><a href="/14">14</a>
</ul>

JQuery

var pathname = "/13";
$("ul").find("a[href='"+pathname+"']").closest("li").css("background-color", "red");

enter image description here

Демо https://jsfiddle.net/ipsjolly/stdqgjcx/4/ < / а>

0
Code Spy 23 Июл 2017 в 14:26