JQuery学习

一、JQuery 介绍:

什么是JQuery ?

jQuery,顾名思义,也就是JavaScript和查询(Query),它就是辅助JavaScript开发的js类库。

 

JQuery核心思想!!!

它的核心思想是write less,do more(写得更少,做得更多),所以它实现了很多浏览器的兼容问题。

 

JQuery流行程度

    jQuery现在已经成为最流行的javascript库,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。

JQuery好处!!!

jQuery是免费、开源的,jQuery的语法设计可以使开发更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能

二、Jquery 核心函数  $()

$ 是jquery的核心函数,能完成jquery的很多功能。$()就是调用$这个函数

1、传入参数为  [ 函数 ] 时:$(function(){})

      
       它的功能就是window.onload也就是页面加载完成之后。

 

$( function(){

在这个函数体内实现你要写的功能。

} );          

2、传入参数为  [ HTML 字符串 ] 时: $("<span>12</span>");

 

$( “<span>12123</span>” );

相当于原生的js中的以下代码

var spanObj = document.createElement(“span”); //创建一个标签对象    <span></span>

spanObj.innerHTML = “12123”; //<span>12123</span>

 

3、传入参数为  [ 选择器字符串 ] 时:$(“#id”)

4、传入参数为  [ DOM对象 ] 时:      $(dom)

 

注意获取数据和获取对象的定义区别:

获取的是数值所以不用$

 var name = $("#empName").val();

注意对比: $ var name = $("#empName");

三、 jQuery选择器

基本选择器(****重点)

#ID                    选择器:根据id查找标签对象 

.class       选择器:根据class查找标签对象

element 选择器:根据标签名查找标签对象

*               选择器:表示任意的,所有的元素

selector1,selector2 组合选择器:合并选择器1,选择器2的结果并返回

层级选择器(****重点)

ancestor descendant       后代选择器     :在给定的祖先元素下匹配所有的后代元素

parent > child                  子元素选择器:在给定的父元素下匹配所有的子元素

prev + next                        相邻元素选择器:匹配所有紧接在 prev 元素后的 next 元素

prev ~ sibings                    之后的兄弟元素选择器:匹配 prev 元素之后的所有 siblings 元素

过滤选择器(具体看手册)

过滤选择器一般前面会带冒号“:”

:first                                               获取第一个元素

:last                                      获取最后个元素

:not(selector)                     去除所有与给定选择器匹配的元素

:even                                    匹配所有索引值为偶数的元素,从 0 开始计数

:odd                                      匹配所有索引值为奇数的元素,从 0 开始计数

:eq(index)                           匹配一个给定索引值的元素

:gt(index)                             匹配所有大于给定索引值的元素

:lt(index)                              匹配所有小于给定索引值的元素

:header                                匹配如 h1, h2, h3之类的标题元素

:animated                           匹配所有正在执行动画效果的元素

。。。。。。

四、JQuery 元素筛选

eq()                    获取指定索引的元素     功能相当于:eq()             

first()                  获取第一个元素              功能相当于:first

last()                  获取最后一个元素         功能相当于:last

filter(exp)        留下匹配给定exp选择器的元素         

is()                      判断jquery对象中是否匹配给定的表达式,其中只要有一个匹配,就返回true

has(exp)            保留后面中有匹配给定exp选择器的元素的元素     功能跟:has();相同

not(exp)            去掉,或者删除掉那些匹配exp选择器的元素。 功能跟:not()相同

children(exp)    从子元素中匹配给定的exp子元素               parent>child

find()                  查找后代元素                                               ancestor descendant后代选择器

next()                 查找当前元素的下一个兄弟元素        

nextAll()            查找当前元素后面的所有兄弟元素             

nextUntil(selector)          查找当前元素后面的所有兄弟元素,到给定的selector选择器为止

parent()                     返回jquery对象的父元素

prev(exp)                   查找当前元素的前面一个紧连的兄弟元素

prevAll()                     查找当前元素的前面所有兄弟元素    

prevUnit(exp)           查找当前元素前面的所有兄弟元素。直到匹配exp选择器为止

siblings(exp)              查找当前元素所有兄弟元素

add()                            把后面选择器匹配到的结果添加到jquery对象中

五、JQUery 的属性操作(****重点)

 

html()                 功能相当于innerHTML可以设置获取起始标签和结束标签中的内容 (包含标签)        

text()                  功能相当于innerText ,可能获取起始标签和结束标签中的文本

val()                    val方法主要是操作form表单中的标签项的value属性。

 

    $(function() {
        $("a.deleteItemClass").click(function() {
            var name = $(this).parent().parent().find("td:first").html();
            return confirm("你确认要删除商品【"+ name+"】吗?");
        });
    });
  var name = $(this).parent().parent().find("td:first").html();
获取a标签class为deleteItemClass的标签后,向上查找两个父节点【parent()JQuery 元素筛选】【find() 查找后代元素 】,
find("td:first")---:first为过滤器,获取td标签的第一个元素,
html()----获取该标签间的内容

 

attr()         attr可以获取属性值,也可以设置属性值。

prop()       prop同样可以获取属性值,和设置属性值。prop推荐操作那些值。true和false的属性

 

attr可以操作所有的属性。但是像那些checked。selected,disabled这些属性推荐使用porp设置和获取因为prop得到的结果会更佳的友好。

 

attr可以给标签添加一些非标准的属性。就可以在html页面端保存一些临时的数据。

var id = $("input").attr("data");

 

 

HTML表格学习

<table border="1">
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td>January</td>
    <td>$100</td>
  </tr>
</table>

<table> 标签定义 HTML 表格。tr 元素定义表格行,th 元素定义表头,td 元素定义表格单元。

 

动态添加、删除表格记录

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="styleB/css.css" />
<script type="text/javascript" src="../../script/jquery-1.7.2.js"></script>
<script type="text/javascript">
    $(function() {
         //1.添加记录
        
        //第一步,先给submit按钮绑定单击事件
        $("#addEmpButton").click(function() {
            //第二步获取三个文本框name、email、salary的输入信息
         var name = $("#empName").val();
         var email = $("#email").val();
         var salary = $("#salary").val();
            //第三步,创建一个tr标签对象,然后把name和email和。salary添加到td里
         var $trObj = $("<tr><td>"
                 +name+"</td><td>"
                 +email+"</td><td>"
                 +salary+"</td><td><a href='deleteEmp?id=001'>Delete</a></td></tr>");
            //第四步,把创建好的tr标签对象,追加到table中
         $("#employeeTable").append($trObj);
            
        //2、删除记录
             //1.从新创建的tr标签中,查找出a标签。给它绑定单击事件
             $trObj.find("a").click( aDeleteFun ); 
        }); 
        
        //2.做删除的操作
        var aDeleteFun = function(){
            //3.通过点击的a标签找到所在行
            var $trObj = $(this).parent().parent();
            //当我们需要删除数据之前,我们应该给用户一些友好的提示
//             confirm这是js中的确认框
//             这个函数接收的参数是提示框提示的文本内容
//            当用户点击确定就返回true,当用户点击取消,就返回false

            // 从tr标签对象中,获取第一个td标签对象,然后从中获取到删除行的name的值
            var name1 = $trObj.find("td").first().html();
            var result = confirm("你确定删除"+name1+"一行吗");
            if (result) {
                //4.调用remove();
                $trObj.remove();
            }
            //如何取消a标签的跳转
            //在单击事件中,直接return false.可以阻止元素的默认行为
            return false;
        };
        $("a").click( aDeleteFun );
    });
    
    
</script>
</head>
<body>

    <table id="employeeTable">
        <tr>
            <th>Name</th>
            <th>Email</th>
            <th>Salary</th>
            <th>&nbsp;</th>
        </tr>
        <tr>
            <td>Tom</td>
            <td>tom@tom.com</td>
            <td>5000</td>
            <td><a href="deleteEmp?id=001">Delete</a></td>
        </tr>
        <tr>
            <td>Jerry</td>
            <td>jerry@sohu.com</td>
            <td>8000</td>
            <td><a href="deleteEmp?id=002">Delete</a></td>
        </tr>
        <tr>
            <td>Bob</td>
            <td>bob@tom.com</td>
            <td>10000</td>
            <td><a href="deleteEmp?id=003">Delete</a></td>
        </tr>
    </table>

    <div id="formDiv">
    
        <h4>添加新员工</h4>

        <table>
            <tr>
                <td class="word">name: </td>
                <td class="inp">
                    <input type="text" name="empName" id="empName" />
                </td>
            </tr>
            <tr>
                <td class="word">email: </td>
                <td class="inp">
                    <input type="text" name="email" id="email" />
                </td>
            </tr>
            <tr>
                <td class="word">salary: </td>
                <td class="inp">
                    <input type="text" name="salary" id="salary" />
                </td>
            </tr>
            <tr>
                <td colspan="2" align="center">
                    <button id="addEmpButton" value="abc">
                        Submit
                    </button>
                </td>
            </tr>
        </table>

    </div>

</body>
</html>

parent() find() 

 调用函数,必须定义在前,调用在后。

$("a").click( aDeleteFun );

//2.做删除的操作
var aDeleteFun = function(){
//3.通过点击的a标签找到所在行
var $trObj = $(this).parent().parent();
//当我们需要删除数据之前,我们应该给用户一些友好的提示
// confirm这是js中的确认框
// 这个函数接收的参数是提示框提示的文本内容
// 当用户点击确定就返回true,当用户点击取消,就返回false

// 从tr标签对象中,获取第一个td标签对象,然后从中获取到删除行的name的值
var name1 = $trObj.find("td").first().html();
alert(name1);
var result = confirm("你确定删除一行吗");
if (result) {
//4.调用remove();
$trObj.remove();
}
//如何取消a标签的跳转
//在单击事件中,直接return false.可以阻止元素的默认行为
return false;
};
$("a").click( aDeleteFun );

posted @ 2017-06-09 16:45  lamsey16  阅读(182)  评论(0编辑  收藏  举报