jquery强大的选择器和javascript 的对比。

案列demo:http://codepen.io/tianzi77/pen/yNJVaM

首先写结构:

<body>
<ul id="nav">
    <li class="current">tianzi</li>
    <li>tianzi</li>
    <li>tianzi</li>
</ul>
<div id="content">
<div class="show">content区域</div>
<div>content1</div>
<div>content2</div>
</div>

然后添加样式:

*{
    padding:0;
    margin: 0;
}
body{
    margin:0 50%;
}
#nav{
    width: 500px;
    height: 50px;
    line-height: 50px;
    list-style: none;
    border-radius: 20px;
    margin-bottom: 5px;

}
#nav li{
    float: left;
    padding-right: 10px;
    border-left: 1px solid green;
    font-size: 2em;
    font-family: "微软雅黑";
    cursor: pointer;
}
#nav li.current{
    background: #abcdef;
}
#nav li:hover{
    color: #fff;
    background: red;
    cursor: pointer;
}
#content div{
    width: 270px;
    height: 180px;
    border:1px solid blue;
    box-sizing:border-box;
    display: none;
}
#content div.show{
    display: block;
}

纯javascript控制表现:

window.onload=function(){
var ul=document.getElementById("nav");
var li=ul.getElementsByTagName("li");
var content=document.getElementById("content");
var div=content.getElementsByTagName(‘div‘);
for(var i=0;i<li.length;i++){
    li[i].index=i;
    li[i].onclick=function(){
        for(var j=0;j<li.length;j++){
            li[j].className="";
            div[j].style.display="none";

        }
        this.className="current";
        div[this.index].style.display="block";
    }
}
}

用js写代码比较多,而且里面有2层循环很饶人。那么我用jquery写了一下:

jq代码:

$(function(){
    $("ul li").click(function(){
    $(this).addClass("current").siblings().removeClass("current");
    $("#content div").eq($(this).index()).show().siblings().hide();
})
})

基本2行代码就搞定,由于jquery支持强大的链式操作,所以以上代码完全可以精简为一行:

$(this).addClass("current").siblings().removeClass("current").parent().next().children().eq($(this).index()).show().siblings().hide();

不得不说jquery真是强大,研究其源码就是定义了$这个强大 的选择符。

时间: 2024-08-21 06:51:13

jquery强大的选择器和javascript 的对比。的相关文章

jquery强大的选择器---来源《锋利的jquery》

一.基本选择器 1.#id  根据给定的id匹配一个元素 2..class  根据给定的类名匹配元素 3.element  根据给定的元素名匹配元素 4.*  匹配所有元素 5.selectore1,.selectore2,#selectore3  将每一个选择器匹配到的元素合并后一起返回 二.层次选择器 6.ancestor descendant  选取ancestor元素里的所有descendant(后代)元素 7.parent>child  选取parent元素下的child(子)元素,与

Jquery:强大的选择器&lt;一&gt;

今天回家之后,学习的是Jquery的选择器.选择器作为Jquery的优势之一,确实让我感觉到了它的强大.Jquery选择器分为基本选择器.层次选择器.过滤选择器和表单选择器,下面我一一介绍这四种选择器. 一.基本选择器 看了书中关于选择器的介绍,我才知道,自己平日里用的大部分都是基本选择器.基本选择器中包含id选择器.class选择器.标签选择器.复合选择器和"*"选择器. $("#id") 选取所有属性id等于"id"的元素. $("

【JavaScript】对比12 款优秀的JavaScript MVC/MVVC框架 你最喜欢Backbone or Ember

http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/ 目前基本所以后台程序都是面向对象MVC模式开发,作为Web前端开发的人来说,也是很需要的,那么目前有没有可以借鉴的呢?作者(Gordon L.Hempton)一直在寻求哪种MVC框架最为完美,他将目前能获取到的所有框架都粗略地试了试,然后在文章中列出了每一种框架的情况概要,在文末分享了作者经过对比之后最终的推荐产品. 首先要特别说明一下,作者认为

jQuery 包装集 选择器

1.Dom对象和jQuery包装集转换 在传统的javascript开发中,我们都是首先获取Dom对象,比如: var div = document.getElementById("testDiv");var divs = document.getElementsByTagName("div"); 我们经常使用 document.getElementById 方法根据id获取单个Dom对象, 或者使用 document.getElementsByTagName 方法

抛弃jQuery,深入原生的JavaScript

虽然我已经做网站建设工作10多年了,但我从最近3年才开始更多地学习如何更好的将纯JavaScript用于工作中,而不总是将jQuery考虑在第一位.现在我每天学习很多东西.这个过程让我觉得Adtile的JavaScript SDK 更像是在创建一个开源工程,而不是"具体的工作",不得不说,我很喜欢那样. 今天,我准备将在过去几年学到的一些基础东西与大家一起分享,这将可能帮你深入纯 JavaScript的世界,让你能更简单的做出决定--jQuery在你下个工程中是否需要. 逐步增强 虽然

jQuery中的选择器

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <!DOCTYPE html PUBLIC "-//W3C//DTD

HTML5移动开发之路(34)——jQuery中的选择器

本文为 兄弟连IT教育 机构官方 HTML5培训 教程,主要介绍:HTML5移动开发之路(34)--jQuery中的选择器 一.jQuery是什么? jQuery是由美国人John Resig创建,至今吸引了来自世界各地的众多JavaScript高手加入其中. jQuery的创始人和技术领袖,目前在Mozilla担任JavaScript工具开发工程师.著有<Pro JavaScript Techniques>(即<精通JavaScript>)等经典JavaScript书籍. jQu

[ jquery 属性 .selector ] 此选择器返回传给jQuery()的原始选择器

返回传给jQuery()的原始选择器:换句话说,就是返回你用什么选择器来找到这个元素的.可以与context一起使用,用于精确检测选择器查询情况.这两个属性对插件开发人员很有用 实例: <!DOCTYPE html> <html lang='zh-cn'> <head> <title>Insert you title</title> <meta http-equiv='description' content='this is my pag

jQuery中的选择器深入浅出

随着JavaScript的不断发展,各种各样的为了方便给jQuery变成的库应运而 生,Prototype,YUI,Extjs,bindows,JSVM(国内的),而目前较为流行的是jQuery ,这是一个轻量级的JavaScript库,它的诸多的优点:开源,兼容各种浏览器,继承css ,html,javascript,ajax等,据统计,目前世界上前10000个访问量最高的网站中,有 超过60%都使用的是jQuery,不得不说,在现在的前端界,如果你说你不会jQuery, 那么估计很多人就会对