JQuery链式操作简单的菜单列表

看到这个简单的菜单demo,也是为了再看看JQuery对DOM的操作,一直都记不牢,特别是siblings()这个总是想不起来。

这次再过一遍JQuery,不管简单的还是复杂的demo 还是坚持练习一遍吧!只为记录,如果同时能给你提供帮助,这样最好!

<style>
        .wrap{
            width: 100%;
        }
        .inner{
            width: 62.5%;
            margin: auto;
            padding: 50px;
            border:1px solid #ccc;
            box-sizing:border-box;
        }
        .menu{
            width: 100%;
        }
        .sub-nav{
            cursor: pointer;
            color: #333;
            font-size: 16px;
            font-weight: bold;
            padding: 5px;
            background: #ccc;
            overflow: hidden;
        }
        a{
            float: left;
            width: 100%;
            background: #333;
            color: #fff;
            padding: 5px;
            display: none;
        }
        .light{
            color: #3c763d;
            background: #999999;
        }
    </style>

上面css没有写的多么严禁,样式就一带而过吧。

<div class="wrap">
        <div class="inner">
            <div class="menu">
                <div class="sub-nav">
                    <span>The first chapter</span>
                    <a href="javascript:;">The first section</a>
                    <a href="javascript:;">The second section</a>
                    <a href="javascript:;">The third section</a>
                    <div style="clear: both;"></div>
                </div>
                <div class="sub-nav">
                    <span>The second chapter</span>
                    <a href="javascript:;">The first section</a>
                    <a href="javascript:;">The second section</a>
                    <a href="javascript:;">The third section</a>
                    <div style="clear: both;"></div>
                </div>
                <div class="sub-nav">
                    <span>The third chapter</span>
                    <a href="javascript:;">The first section</a>
                    <a href="javascript:;">The second section</a>
                    <a href="javascript:;">The third section</a>
                    <div style="clear: both;"></div>
                </div>
            </div>
        </div>
    </div>

同样的也没什么多描述的。就一坨放在这里了。

<script>
        $(function () {
            $(‘.sub-nav‘).click(function () {
                $(this).addClass(‘light‘).children(‘a‘).show().end().siblings().removeClass(‘light‘).children(‘a‘).hide();
            })
        })
    </script>

不同的代码风格 看起来肯定舒适度不一样,这样一口气的真头大。为了增强记忆一个一个的分析下。

提倡一行写一个操作。

2017-02-08

时间: 2024-12-26 12:02:09

JQuery链式操作简单的菜单列表的相关文章

jQuery链式操作

讨论jQuery的文章很多.然而,关于jQuery的链式操作的文章并无多少.好的代码会带来速度的提升.快速渲染和响应意味着更好的用户体验. 下面就来讲讲jQuery的链式操作. 很多时候我们写代码的时候会这样去写: $("div").css("background","#eee") $("div").text("关注前端,关注用户体验-冀"); 这重复的去获取DIV这个节点非常影响性能,这时你可能会想到这样

jQuery链式操作[转]

用过jQuery的朋友都知道他强大的链式操作,方便,简洁,易于理解,如下 $("has_children").click(function(){ $(this).addClass("highlight").children("a").show().end().siblings().removeClass("highlight").children("a").hide(); }); 1.jQuery的链式操作

jQuery链式操作如何返回上一级DOM

有时候我们在链式操作的时候,选择到了其他的DOM进行操作,如何再返回先前的dom呢,有一下几个方法,end(); addBack(); add(); 使用形式 $("#divFather").show().find("a").addClass("now").end().addClass("highLight") 此段代码表示由ID为divFather往下取得了a标签加上now类之后,再返回到divFather就行添加hight

简述jQuery的链式操作

首先,两个问题: JQuery的链式操作是如何实现的? 为什么要用链式操作? 怎样使用链式操作? 原理百度上面一大把,我也不能很好的解释,不过它的用法很简单: 关键就在于对象里的方法有:return this.这就是说调用了方法之后把对象给返回了回来,不就可以继续调用方法了吗?所以链式操作就这样实现了.举个栗子: //定义一个类 function Obj(){} //扩展它的原型 Obj.prototype = { setName:function(name){ this.name = name

jQuery对象的链式操作用法分析

可以使用下面的原则判断一个函数返回的时候是jQuery对象,即是否可以用于链式操作. 除了获取某些数据的函数,比如获取属性值"attr(name)",获取集合大小"size()"这些函数明显是返回数据的.除了这些函数之外的jQuery函数都可以用于链式操作,比如设置属性"attr(name.value)". 链式编程.html('val').text('val').css()链式编程,隐式迭代.链式编程注意:$('div').html('设置值'

用php实现一个简单的链式操作

最近在读<php核心技术与最佳实践>这本书,书中第一章提到用__call()方法可以实现一个简单的字符串链式操作,比如,下面这个过滤字符串然后再求长度的操作,一般要这么写: strlen(trim($str)); 那么能否实现下面这种写法呢? $str->trim()->strlen(); 下面就来试下. 链式操作,说白了其实就是链式的调用对象的方法.既然要实现字符串的链式操作,那么就要实现一个字符串类,然后对这个类的对象进行调用操作.我对字符串类的期望如下:(1)当我创建对象时,

jquery设计思想之写法-方法函数化&amp;链式操作

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="

如何一行jquery代码写出tab标签页(链式操作)

啦啦!今天又学了一招,js写几十行的tab标签页jquery写一行就行啦,用到了链式操作!以下是代码: <!DOCTYPE html> <html lang="en"> <head> <style> *{ padding: 0; margin: 0; } ul{ list-style-type: none; } #ul{ height: 30px; margin-bottom: 10px; } #ul li { height: 30px;

js实现一个简单的链式操作

如何实现一个链式操作 function person() {} person.prototype = { setname: function(name) { this.name = name return this }, setage: function(age) { this.age = age return this }, getinfor: function() { console.log(this.age) console.log(this.name) } } var person1 =