Jquery初体验二

一.传统方式生成Table

        var peopleArr = [
            { "name": "刘欢", "age": 50, "skill": "从头再来" },
            { "name": "杨坤", "age": 35, "skill": "32唱演唱会" },
            { "name": "那英", "age": 50, "skill": "白天不懂夜的黑" },
            { "name": "王菲", "age": 45, "skill": "复合" }
        ]
        $(function () {
            var $tbCreate = $("<table></table>")//生成table
            var $trTitle = $("<tr></tr>").append("<td>序号</td>").append("<td>姓名</td>").append("<td>年龄</td>").append("<td>技能</td>");
            $tbCreate.append($trTitle);//将标题加到tb中
            //循环数组,生成tr
            for (var i = 0; i < peopleArr.length; i++) {
                //每循环一次生成一个tr
                var $trCreate = $("<tr><td><input type=‘checkbox‘ class=‘chkOne‘/>" + (i + 1) + "</td></tr>");
                //循环对象数组,生成其他td
                for (var item in peopleArr[i]) {
                    var $tdCreate = $("<td>" + peopleArr[i][item] + "</td>");
                    //加到tr里面
                    $trCreate.append($tdCreate);
                }
                //将tr加到table里面
                $tbCreate.append($trCreate);
            }
            //将table加到body里面
            $(document.body).append($tbCreate);

二.使用jquery.tmpl插件快速生成Table

    <script src="jquery/jquery-1.9.1.js"></script>
    <script src="jquery/jquery.tmpl.min.js"></script>首先要引入这个js

    需要显示的字段在这里先占位
    <script type="text/x-jquery-tmpl" id="tmpl01">
        <!--//准备模板,使用占位符,属性名-->
        <tr>
            <td><input type="checkbox" class="chkOne" /></td>
            <td>${name}</td>
            <td>${age}</td>
            <td>${skill}</td>
            <td><a href="#">删除</a>  <a href="#">编辑</a></td>
        </tr>
    </script>
    <script type="text/javascript">
        var peopleArr = [
           { "name": "刘欢", "age": 50, "skill": "从头再来" },
           { "name": "杨坤", "age": 35, "skill": "32唱演唱会" },
           { "name": "那英", "age": 50, "skill": "白天不懂夜的黑" },
           { "name": "王菲", "age": 45, "skill": "复合" }
        ]
        //.tmpl方法,只有导入插件才有
        //循环对象数组,数组里面的每一个对象,都会生成一个模板dom元素
        var $tmplTr = $("#tmpl01").tmpl(peopleArr);//返回的是jq对象.这里是老师故意分开写  ohyeah

        $(function () {
            $tbCreate = $("<table></table>").append($tmplTr);
            //将table加到body里面去
            $(document.body).append($tbCreate);
        })
    </script>

三.Jquery中的操作class的几个方法

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="jquery/jquery-1.9.1.js"></script>
    <style type="text/css">
        div {
            border: 1px solid #0094ff;
            height: 100px;
            width: 100px;
        }
        .red {
            background-color: red;
        }
        .black {
            background-color: black;
        }
    </style>
    <script type="text/javascript">
        $(function () {
            $("#btnChange").click(function () {
                //切换class//toggleClass 会判断 是否有这个class  如果有 删除,如果没有,就添加                API中的说明:如果存在(不存在)就删除(添加)一个类
                $("div").toggleClass("black");
            })
            $("#btnRedAdd").click(function () {
                //增加class
                $("div").addClass("red");

            })
            $("#btnRedRemove").click(function () {
                //删除class
                $("div").removeClass("red");

            })
        })

    </script>
</head>
<body>
    <input type="button" value="黑白切换" id="btnChange" />
    <input type="button" value="增加redclass" id="btnRedAdd" />
    <input type="button" value="移除redclass" id="btnRedRemove" />
    <div></div>
    <div></div>
    <div></div>
</body>
</html>

四:jq里面的克隆

jq里面的克隆,不管深浅,都会克隆子节点,jq里面的浅克隆,只是克隆元素,事件不克隆,jq里面的深克隆,事件一并克隆了

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="jquery/jquery-1.9.1.js"></script>
    <script type="text/javascript">
        var $button = $("<input type=‘button‘ value=‘点击删除自己‘ onclick=‘$(this).remove();‘/>");
        //为button设置点击事件
        //使用jq的方法为dom元素增加事件,当这个dom元素从dom树里面移除,事件也没有了
        //如果要实现,将dom元素从dom树里面移除,事件还在,可以将事件写道dom元素的 事件属性里面
        $(function () {
            $("#btnAdd").click(function () {
                //将 按钮 追加到body里面去
                $(document.body).append($button);

            });
        })

    </script>
</head>
<body>
    <input type="button" id="btnAdd" value="增加按钮" />
</body>
</html>

五:属性过滤器

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="jquery/jquery-1.9.1.js"></script>
    <script type="text/javascript">
        alert("稍等一会");
        $(function () {
            //表示拥有某种属性的元素
            $("li[skill]").css("backgroundColor", "orange");
            //表示属性等于某个值
            $("li[skill=noNice]").css("fontSize", "50px");
            //表示属性不等于某个值
            $("li[skill!=noNice]").css("color", "#0094ff");
            //属性过滤器,可以判断任意属性-包括id,class等
            //适用范围,就是对于元素的一个过滤
            $("li[class]").css("border", "5px solid #0094ff");
            $("li[class=vegetable][prize=10]").css("backgroundColor", "green");
        })
    </script>
</head>
<body>
    <ol>
        <li skill="noSwim">恶魔果实</li>
        <li class="noGoodLook">百香果</li>
        <li skill="noNice">榴莲</li>
        <li class="vegetable" prize="5">西兰花</li>
        <li class="vegetable" prize="10">秋葵</li>
        <li id="smile">开心果</li>
        <li class="noDelicious">韭菜月饼</li>
    </ol>
</body>
</html>

六:表单元素过滤器

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script src="jquery/jquery-1.9.1.js"></script>
    <script type="text/javascript">
        $(function () {
            $("#btnShowNum").click(function () {
                //使用表单元素过滤器 获取选中的checkbox
                alert($("input[type=checkbox]:checked").length);
            })
        })
    </script>
</head>
<body>
    <input type="checkbox" /><label>篮球</label>
    <input type="checkbox" /><label>足球</label>
    <input type="checkbox" /><label>排球</label>
    <input type="checkbox" /><label>曲棍球</label>
    <br />
    <input type="radio" name="male" /><label>男</label>
    <input type="radio" name="male" /><label>女</label>
    <input type="button" value="显示选中个数" id="btnShowNum" />
</body>
</html>
时间: 2024-10-24 19:39:20

Jquery初体验二的相关文章

Swift初体验(二)

// 函数写法初体验 func getMyName(firstName first:String, lastName last:String) -> String{ //return first + "-" + last return first + last } var myName = getMyName(firstName: "hu", lastName: "mingtao") println("myName = \(myN

jquery.fn.extend与jquery.extend--(初体验二)

1.jquery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jquery.fn.extend(object);给jQuery对象添加方法. $.extend({ add:function(a,b){return a+b;} }); //$.add(3,4); //return 7 jQuery添加一个为 add的“静态方法”,之后便可以在引入 jQuery 的地方,使用这个方法了. 2.jQuery.fn.extend(object); 对jQuery.pro

JQuery初体验

虽然做b/s也有一年半了,但是还没怎么认真的去看JQuery,趁自己生病的这几天,恶补一下JQuery方面的知识,保持学习的态度,内容很简单,聊以自慰一下>_<.废话不多说,直接上代码了. 通过HTML标签实现控件隐藏: <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head>    <meta http-equiv="Content-Type&quo

Jquery初体验一

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src="jquery/jquery-1

Spring Cloud Alibaba 初体验(二) Nacos 服务注册与发现

一.服务注册 添加依赖: <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.2.0.RELEASE</version> <type>pom.sha256</type> </depend

oracle初体验二

上期中创建完数据库实例,但是最后使用em访问数据库实例的时候出现了一个问题? Enterprise Manager 无法连接到数据库实例.下面列出了组件的状态. 回答上面的问题请看以下oracle的结构: 客户使用浏览器通过EM的1158端口访问EM,EM通过监听访问oracle数据库实例,上节中我们通过数据库配置助手(Database Configuraion Assistant)创建了数据库实例,但我们还没有创建监听.所以就出现了上节最后提出的问题.这节中我们将通过oracle网络配置助手(

XenApp / XenDesktop 7.6 初体验二 配置计算机目录和交付组

前面我已经安装了XenDesktop/Xenapp 7.6, 并且配置了Site 和License. 接下来豆子打算配置 Machine Catalogs (计算机目录)和 Delivery Group (交付组). 首先,我先在一台作为模板的计算机上安装VDA,方法很简单,加载ISO 选择 Create a Master Image 选择 Delivery Controller的地址 默认选项 自动配置windows防火墙 开始安装 中途会重启一次 继续安装 Ok.装完了VDA,我们打开Stu

Java8初体验(二)Stream语法详解

原文链接:http://ifeve.com/stream/ 1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel aggregate operations. 我们来解读一下上面的那句话: Stream是元素的集合,这点让Stream看起来用些类似Iterator: 可以支持顺序和并行的对原Stream进行汇聚的操作: 大家可以把Stream当成一个高级版本的

bash编程初体验(二)

bash编程初体验(二) read if case 概述 在本篇文章中,我们将介绍bash编程中有关if语句的简单用法,.如此,如果条件为真,if会执行一种指令,如果条件为假,if会选择执行另一种指令,这种执行就是所谓的选择结构,它能够改变命令的基本顺序流结构,以选择流的形式运行. 在有关if语句的论述中,我们还将介绍read命令,因为read命令可以方便地引入一个或多个变量,可以天然地与if语句结合:另外,除了if语句,还有一种常见的选择语句:case语句,其简单易用,高效简洁,是时的不二选择