Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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-在导航中查找属性_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery-在导航中查找属性

Javascript Jquery-在导航中查找属性,javascript,jquery,html,Javascript,Jquery,Html,我有一个导航(自制HTML,没有CMS) 代码: <ul id="navmenu" class="open"> <li><a href="/" class="nav-home"><i class="menu-icon icon-home"></i></a></li> <li><a href="#" data-filter="one"><i class=

我有一个导航(自制HTML,没有CMS)

代码:

<ul id="navmenu" class="open">
        <li><a href="/" class="nav-home"><i class="menu-icon icon-home"></i></a></li>
        <li><a href="#" data-filter="one"><i class="menu-icon icon-one"></i><span>One</span></a></li>
        <li><a href="#" data-filter="two"><i class="menu-icon icon-two"></i><span>Two</span></a></li>
        <li><a href="#" data-filter="three"><i class="menu-icon icon-three"></i><span>Three</span></a></li>
        <li><a href="#" data-filter="four"><i class="menu-icon icon-four"></i><span>Four</span></a></li>
    </ul>  
我需要弄清楚body标签中添加了哪个站点或类,并在导航中显示“state”

伪代码:

If "class" is in body >
search for "class" in navigation (search for data-"class" attribute)>
and display span   / set class "active"
你能把我推到正确的方向吗?谢谢大家!

如果我了解你:

$(document).ready(function() { 

    if ($('body').hasClass('Some Class')) {
           $("#navmenu").css("display", "block");
           $("#navmenu:first-child").addClass("active");
    }
    else {
           //whatever else you care to do
     }

 });
如果我理解你:

$(document).ready(function() { 

    if ($('body').hasClass('Some Class')) {
           $("#navmenu").css("display", "block");
           $("#navmenu:first-child").addClass("active");
    }
    else {
           //whatever else you care to do
     }

 });
使用
[data filter=one]
查找匹配的a标签:

var site = $("body").attr("class").replace("site ", "");

// find any a-tag with attribute data-filter=site, and show any child span-tags
$("#navmenu a[data-filter='" + site + "']").find("span").show();

使用
[data filter=one]
查找匹配的a标签:

var site = $("body").attr("class").replace("site ", "");

// find any a-tag with attribute data-filter=site, and show any child span-tags
$("#navmenu a[data-filter='" + site + "']").find("span").show();

那么,相应地,使用伪代码:

if($('body').attr("class")){
   var classBody = $('body').attr("class");
   var site = classBody.replace("site ", "");

   $("#navmenu li a[data-filter=" + site + "]").find("span").show();
}

那么,根据您的伪代码:

if($('body').attr("class")){
   var classBody = $('body').attr("class");
   var site = classBody.replace("site ", "");

   $("#navmenu li a[data-filter=" + site + "]").find("span").show();
}

您还可以将$(“#navmenu”)命令链接在一起,例如:$(“#navmenu”).show().children(“li:first of type”).addClass(“active”);老实说,有很多方法可以做到这一点……我在评论中写的方法可能越来越接近了……这是个好方法,但“类”不止一个。因此,我必须编写更多的“如果”,或者?不一定,但我需要更深入一点,你在你体内提供的类是什么,它试图找到的类是什么?我做了类似的事情,使你的代码(以及其他人的代码)与我的需要相匹配:但正如我所说,现在我必须为每个网站做这些。你还可以链接$(“#navmenu”)命令放在一起,比如:$(“#navmenu”).show().children(“li:类型的第一个”).addClass(“active”);老实说,有很多方法可以做到这一点……我在评论中写的方法可能离它越来越近了……这是一个好方法,但“类”不止一个。因此,如果“是,还是?不一定,但我需要更深入一点,你的身体中有哪些类别,它试图找到哪些类别?我做了类似的事情,使你的代码(和其他人的代码)与我的需要相匹配:但正如我所说,现在我必须为每个网站都这样做。如果我将这些网站添加或重命名为“国美网站”,会更容易些吗?”还是“网站博客”?问题是,body标签上的类比“site”多。如果我将这些站点添加或重命名为“site gome”或“site blog”,会更容易吗?问题是,body标签上的类比“site”多。