Javascript 如何仅向ul列表的一个元素添加样式

Javascript 如何仅向ul列表的一个元素添加样式,javascript,jquery,Javascript,Jquery,我需要根据字符串是否与url匹配,只向列表的一个元素添加其他样式 此时,正在从列表和url中的一个元素中标识一个唯一的字符串,然后比较这两个字符串并根据字符串是否相等添加样式,但这样做是将样式应用于列表中的所有元素 结果应该只将样式添加到与url中的字符串匹配的元素中 var currentUrl=window.location.href.split'/'[5]; var categoryName=$'。_filter-list-categoria._filter-list-item li._a

我需要根据字符串是否与url匹配,只向列表的一个元素添加其他样式

此时,正在从列表和url中的一个元素中标识一个唯一的字符串,然后比较这两个字符串并根据字符串是否相等添加样式,但这样做是将样式应用于列表中的所有元素

结果应该只将样式添加到与url中的字符串匹配的元素中

var currentUrl=window.location.href.split'/'[5]; var categoryName=$'。_filter-list-categoria._filter-list-item li._anchor'; var categoryArray=[]; $categoryName.eachfunction{ categoryArray.push$this.text }; 对于x=0;x
let testurl = '/t/cervezas/nacionales';
$('li').each(function(index,item){
  let href = $(item).find('a').attr('href');
  if(href == testurl){
     $(item).css('border', '1px solid green');
  }
})
设testurl='/t/cervezas/nacionales'; $'li'。每个函数索引,项{ let href=$item.find'a'.attr'href'; ifhref==testurl{ $item.css'边框','1px纯绿色'; } }
为了解释问题的原因,您的问题在于这一行: $categoryName.css'background','red'
这是将背景红色应用于与categoryName选择器匹配的每个元素,这是所有锚定标记。您当前没有唯一标识不同url的类,请参阅,以了解如何循环li元素并将样式应用于正确的元素

currentUrl值是什么?@GrafiCodeStudio currentUrl是浏览器中的url,它拆分并获取索引的第五个元素,用于匹配列表中的元素,例如,如果url是,它将被“/”拆分,并使用第五个元素,在本例中,“nacionales”@Rezpo将非常脆弱,您可能应该使用substring和lastIndexOf,currentUrl=window.location.pathname.substringwindow.location.pathname.lastIndexOf“/”+1;