Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jquery查找具有匹配url和addclass的锚_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用jquery查找具有匹配url和addclass的锚

Javascript 使用jquery查找具有匹配url和addclass的锚,javascript,jquery,html,Javascript,Jquery,Html,我需要突出显示nav中的父项和子项,我将返回url作为基于页面的数组 我的基本导航结构是这样的 <div id="cssmenu"> <div id="menu-button"></div> <ul> <li><a href="/en/about-us/">About Us</a></li> <li class="has-sub"> &

我需要突出显示nav中的父项和子项,我将返回url作为基于页面的数组

我的基本导航结构是这样的

<div id="cssmenu">
   <div id="menu-button"></div>
   <ul>
      <li><a href="/en/about-us/">About Us</a></li>
      <li class="has-sub">
         <span class="submenu-button"></span><a href="/en/photo-gallery/">Gallery </a>
         <ul>
            <li><a href="/en/photo-gallery/" >Photo Gallery</a></li>
            <li><a href="/en/video-gallery/">Video Gallery</a></li>
            <li><a href="/en/instagram-gallery/">Instagram Gallery</a></li>
         </ul>
      </li>
      <li><a href="/en/news/">News</a></li>
      <li><a href="/en/contact/">Contact</a></li>
   </ul>
</div>

url需要为高位的Javascript数组

var HighlightMenuItems=“['/en/islam/about-islam/”,“/en/islam/about-islam/”,”

如何在特定导航中找到与此锚元素匹配的url和
活动菜单


代码笔示例

您需要这样的东西:

$("a[href=" + HighlightMenuItems[0] + "]").addClass("active-menu");
您需要创建一个选择器

由于数组中有多个元素,您可以使用
join
为所有链接创建选择器,而不是在数组上循环并逐个选择元素

'a[href="' + HighlightMenuItems.join('"], a[href="') + '"]';
使用上述语句创建的选择器如下所示:

a[href="/en/about-us/"], a[href="/en/video-gallery/"]
然后可以将其传递给jQuery以选择来自DOM的元素

这是最新的钢笔:

jQuery(文档).ready(函数(){
var HighlightMenuItems=['/en/about us/','/en/video gallery/'];
var menuSelector='a[href=“”+HighlightMenuItems.join(“”),a[href=“”)+“]”;
$(menuSelector).addClass('active-menu');
});
。活动菜单{
颜色:绿色;
字体大小:粗体;
}


现在,数组中可以有任意数量的元素:)我得到了错误
类型错误:HighlightMenuItems.join不是一个函数
@Learning等等,我得到了,你在数组周围加引号,所以它实际上不是数组,而是一个字符串。删除引号,就像我在上面的回答中更新的代码笔链接中所做的那样谢谢,它现在可以工作了,但是我如何才能只针对页眉菜单,因为我也有类似的页脚菜单,它也改变了我不知道的内容want@Learning请检查答案底部的更新部分