开发者社区> 问答> 正文

请教个Jquery的实现问题.:报错

               <div id="menu">
			<ul>
				<li class="home first"><a href="/"  class="home current"><span><span>首页</span></span></a></li>
				<li class="our-work"><a href="/content/List/2_1.htm"  class="product-services"><span><span>产品与服务</span></span></a></li>
				<li class="our-services"><a href="/content/List/2_1.htm"  class="news"><span><span>公司新闻</span></span></a></li>
				<li class="about-us"><a href="/content/view/2/1.htm"  class="about-us"><span><span>关于我们</span></span></a></li>
				<li class="resources"><a href="/content/List/2_1.htm"  class="resources"><span><span>人力资源</span></span></a></li>
				<li class="contact-us last"><a href="/content/view/2/1.htm" class="contact-us"><span><span>联系我们</span></span></a></li>
			</ul>
		</div>
 
 <!--[if !IE]>顶部结束<![endif]-->
<!--[if !IE]> 中栏开始 <![endif]-->
  <div id="main">
        <h3>公司新闻</h3>
呃,部分代码如上,已使用Jqery1.4.2代码库   想从h3这里获得当前菜单,并更改menu ul li 的a中的class为current,匹配条件为 #('main h3:first')的内容与菜单中的menu ul li a span span中的内容相等同的时候,去掉其他a 的current的class,并加匹配的a的class增加current   求解!

展开
收起
kun坤 2020-06-04 21:14:07 466 0
1 条回答
写回答
取消 提交回答
  • 呃,已经解决。  

                   <div id="menu"> <ul> <li class="home first"><a href="/"  class="home"><span><span>首页</span></span></a></li> <li class="our-work"><a href="/content/List/2_1.htm"  class="product-services"><span><span>产品与服务</span></span></a></li> <li class="our-services"><a href="/content/List/2_1.htm"  class="news"><span><span>公司新闻</span></span></a></li> <li class="about-us"><a href="/content/view/2/1.htm"  class="about-us"><span><span>关于我们</span></span></a></li> <li class="resources"><a href="/content/List/2_1.htm"  class="resources"><span><span>人力资源</span></span></a></li> <li class="contact-us last"><a href="/content/view/2/1.htm" class="contact-us"><span><span>联系我们</span></span></a></li> </ul> </div> <!--[if !IE]>顶部结束<![endif]--> <!--[if !IE]> 中栏开始 <![endif]--> <div id="main"> <h3 id="curmenu">公司新闻</h3>

    然后在页脚加入JS  
    <script type="text/javascript">
        $(document).ready(function () {
            if ($('#curmenu').length == 0) {
                $('.home').addClass('current');
            }
            else {
                var cur = $('#curmenu').text();
                $('#menu').find('li').find('a').find('span').find('span').each(function () {
                    if (cur == $(this).text()) {
                        $(this).parents('a').addClass('current');
                    }
                });
            }
        });
    </script>
    呃,以上是我自己写的代码,欢迎大家拍砖,怎样写更好呢?或是更简洁更高效,求指点~######建议附加些属性,  否则选择器使不上劲######呃,比如说,怎么附加来达到想要实现的功能?######随意,比如我喜欢用mark######

    引用来自#4楼“喵了个咪”的帖子

    随意,比如我喜欢用mark  请救实例... 能详解一下吗?诚谢 :)######

    引用来自#5楼“陈炼”的帖子

    引用来自#4楼“喵了个咪”的帖子

    随意,比如我喜欢用mark  请救实例... 能详解一下吗?诚谢 :) 随便编一个属性而已 方便选择器识别######

    引用来自#6楼“喵了个咪”的帖子

    引用来自#5楼“陈炼”的帖子

    引用来自#4楼“喵了个咪”的帖子

    随意,比如我喜欢用mark  请救实例... 能详解一下吗?诚谢 :) 随便编一个属性而已 方便选择器识别 我不明白,你想识别哪一个??######发现在发html代码的时候多了一个“ <br>”的标签,而在我发贴的时候这个标签是不在的~ 编辑了一下可以去掉~ :) 因为我写的只会是<br /> 呃,已经解决。  
                   <div id="menu">
    			<ul>
    				<li class="home first"><a href="/"  class="home"><span><span>首页</span></span></a></li>
    				<li class="our-work"><a href="/content/List/2_1.htm"  class="product-services"><span><span>产品与服务</span></span></a></li>
    				<li class="our-services"><a href="/content/List/2_1.htm"  class="news"><span><span>公司新闻</span></span></a></li>
    				<li class="about-us"><a href="/content/view/2/1.htm"  class="about-us"><span><span>关于我们</span></span></a></li>
    				<li class="resources"><a href="/content/List/2_1.htm"  class="resources"><span><span>人力资源</span></span></a></li>
    				<li class="contact-us last"><a href="/content/view/2/1.htm" class="contact-us"><span><span>联系我们</span></span></a></li>
    			</ul>
    		</div>
    <!--[if !IE]>顶部结束<![endif]-->
    <!--[if !IE]> 中栏开始 <![endif]-->
      <div id="main">
            <h3 id="curmenu">公司新闻</h3>
    
    然后在页脚加入JS  
    <script type="text/javascript">
        $(document).ready(function () {
            if ($('#curmenu').length == 0) {
                $('.home').addClass('current');
            }
            else {
                var cur = $('#curmenu').text();
                $('#menu').find('li').find('a').find('span').find('span').each(function () {
                    if (cur == $(this).text()) {
                        $(this).parents('a').addClass('current');
                    }
                });
            }
        });
    </script>
    呃,以上是我自己写的代码,欢迎大家拍砖,怎样写更好呢?或是更简洁更高效,求指点~######建议附加些属性,  否则选择器使不上劲######呃,比如说,怎么附加来达到想要实现的功能?######随意,比如我喜欢用mark######

    引用来自#4楼“喵了个咪”的帖子

    随意,比如我喜欢用mark  请救实例... 能详解一下吗?诚谢 :)######

    引用来自#5楼“陈炼”的帖子

    引用来自#4楼“喵了个咪”的帖子

    随意,比如我喜欢用mark  请救实例... 能详解一下吗?诚谢 :) 随便编一个属性而已 方便选择器识别######

    引用来自#6楼“喵了个咪”的帖子

    引用来自#5楼“陈炼”的帖子

    引用来自#4楼“喵了个咪”的帖子

    随意,比如我喜欢用mark  请救实例... 能详解一下吗?诚谢 :) 随便编一个属性而已 方便选择器识别 我不明白,你想识别哪一个??######发现在发html代码的时候多了一个“ <br>”的标签,而在我发贴的时候这个标签是不在的~ 编辑了一下可以去掉~ :) 因为我写的只会是<br />
    2020-06-08 10:04:23
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
23-Vue.js在前端...1506518547.pdf 立即下载
《零基础HTML入门教程》 立即下载
JS零基础入门教程(上册) 立即下载