• jQuery_one


    一:认识jQuery

     1、jQuery 的优点

      (1)、轻量级

      (2)、链式操作方式

      (3)、隐式迭代

      (4)、不污染顶级变量

      (5)、可靠的事件处理机制

      (6)、完善的ajax,jQuery 所有的ajax操作封装到一个函数$.ajax()里面,使得开发者处理ajax的时候,能够专心处理业务逻辑,而无需关心复杂的浏览器兼容性和xml HTTPrequest对象的创建和使用的问题

     2、window.onload和$(document).ready的对比

      window.onload $(document).ready
    执行时机  必须达到网页中所有的内容加载完毕之后(包括图片)才能执行  网页中所以DOM结构绘制完毕之后就执行,可能DOM元素关联的东西并没有加载完
    编写个数

    不能同时编写多个

    以下是不正确的

     1 window.onload=function (){
     2 
     3   alert("hello");
     4 
     5 }
     6 
     7 window.onload=function (){
     8 
     9   alert("hello");
    10 
    11 }

    能同时编写多个 

    以下是正确的

     1 $(document).ready(function(){
     2 
     3   alert("hello");
     4 
     5 });
     6 
     7 $(document).ready(function(){
     8 
     9   alert("hello");
    10 
    11 });
    简化写法

     

    1 $(document).ready(function(){
    2 
    3   ....//
    4 
    5   ..//
    6 
    7 });

    可以简写为:

    1 $(function(){
    2 
    3   ...//
    4 
    5   ...//
    6 
    7 });

    3、jQuery 对象和DOM对象的转换

    (1)、jQuery 对象转换DOM对象的

    方法一:jQuery对象是一个类似数组的对象,可以通过index的方法得到相应的DOM对象

     var $cr=$("#rc");//jQuery 对象
     var cr=$cr[0];//DOM对象
     alert(cr.checked)//检测checked是否被选中

    方法二:对于一个DOM对象,只需要用$()把DOM对象包装起来就可以获得一个jQuery对象

    var $cr=$("#rc");//jQuery 对象
    var cr=$cr.get(0);//DOM对象
    alert(cr.checked)//检测checked是否被选中

    (2)、DOM对象的转换jQuery 对象

     var  cr=document.getElementById("cr");//DOM对学生
     var $cr=cr.get(0);//jQuery 对象

     用DOM方式来判断复选框是否被选中

    $(document).ready(function (){//等待dom元素加载完毕
            var  $cr=$('#read');//jQuery对象
            var cr=$cr[0];//DOM对象,或者$cr.get[0]
            $cr.click(function (){
                if(cr.checked){//DOM方式判断
                    alert ("感谢你的支出");
                }
            });
        });

    用jQuery方式来判断复选框是否被选中

    $(document).ready(function (){//等待dom元素加载完毕
            var  $cr=$('#read');//jQuery对象
            var cr=$cr[0];//DOM对象,或者$cr.get[0]
            $cr.click(function (){
                if($cr.is(":checked")){//jQuery方式判断
                    alert ("感谢你的支出");
                }
            });
        });

    以上演示了jQuery对象和DOM对象的不同,但最终的效果是一样的

    4、解决jQuery和其他库的冲突

      在其他库和jQuery都被加载完毕之后,可以在任何时候调用noConflict()函数来将变量$的控制权移交给其他JavaScript库

    var  $j=jQuery.noConflict();//自定义一个快捷方式
        $j(function (){//使用jQuery,利用自定义快捷方式——$j
            $j("p").click(function (){
                alert ("$j(this).text()");
            });
        });

     如果不想给jQuery自定义这些备用名称,还想使用$而不管其他库的$()方法,同时又不想与其他库冲突,那么可以使用以下两种解决方法

      其一:

    jQuery.noConflict();//将变量的控制权给prototype.js
        jQuery(function ($){//使用jQuery设定页面加载是执行的函数
            $("p").click(function (){//在函数内部继续使用$()方法
                alert ("$(this).text()");
            });
        });

      其二:

    jQuery.noConflict();//将变量的控制权给prototype.js
        (function ($) {//定义匿名函数并设置形参为$
            $(function () {//在匿名函数内部$均为jQuery
                $("p").click(function () {//继续使用$方法
                    alert("$(this).text()");
                });
            });
        }());

    最后一种方法是在其他库之前导入

    5、jQuery选择器

    (1)、css选择器

    选择器 语法 描述 示例
    标签选择器

    p{

      CSS规则

    }

    以文档元素作为选择器

    p{

      200px;

    }

    ID选择器

    #id{

      CSS规则

    }

    以文档元素的唯一标识id作为选择器

    #note{

      200px;

    }

    类选择器

    .className{

      CSS规则

    }

    以文档元素class作为选择器 .note{

    200px;

    }

    群组选择器

    p,div,a{

      CSS规则

    }

    多个选择器应用同一个样式

    p,div,a{

      200px;

    }

    后代选择器

    E F{

      CSS规则

    }

    元素E的任意后代元素F

     #links a{

      color:red;

    }

    通配符选择器

    *{

      CSS规则

    }

    以文档的所有元素

     *{

      padding:0;

    }

    伪类选择器

    E:F{

      CSS规则

    }

     指定要选择元素的特殊状态E:F

     li:first-child{

      color:red;

    }

    邻近选择器

    p{

      CSS规则

    }

     如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器

     h1 + p {

      margin-top:50px;

    }

    属性选择器

    p{

    CSS规则

    }

     选择有某个属性的元素

     input[type=text]{

      color:red;

    }

    子代选择器

    p{

      CSS规则

    }

     

    与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。
    选择子元素
    如果您不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器

     li>a{

      color:red;

    }

    jQuery选择器的优势

    document.getElementById('tt').style.css='red';

    运行上面的代码,浏览器就会报错,原因是网页中没有id为“tt”的元素

    改进后的代码如下:

    if(document.getElementById("tt")){
    document.getElementById("tt").style.color="red";

    这样就可以避免浏览器报错但如果要操作的元素很多,可能对每个元素都要进行一次判断,大量重复的工作会使开发人员感到欣倦,而jQuery 在这方面问题上的处理是非常不错的,即使用

    iOuery 获取网页中不存在的元素也不会报错,看下面的例子,代码如下:

    $('#tt').css("color"."red");//这里无需判断$('#tt')是否存在

    注意:$('#t)获取的永远是对象,即使网页上没有此元素。因此当要用jQuery检查某个元素在网页上是否存在时,不能使用以下代码:

    if($("#tt")){
        //do something
    }

    而应该根据获取到元素的长度来判断,代码如下:

    if($("#tt").length>0){
        //do something
    }

    或者转化成DOM 对象来判断,代码如下:

    if($("#tt")[0]){
        //do something
    }

    例子:对多选框进行操作,输出选中的多选框的个数。

    HTML 代码如下:

       <input type="checkbox" name="check" value="1" checked="checked">
        <input type="checkbox" name="check" value="2">
        <input type="checkbox" name="check" value="3" checked="checked">
        <input type="button" name="checked " value="你选中的个数" id="btn">

    JavaScript 代码如下:

    var btn = document.getElementById("btn");//获取id为btn的元素(button)
        btn.onclick = function () {//给元素添加onclick事件
            var arrays = new Array();//创建一个数组对象
            var items = document.getElementsByName("check");//获取name为check 的一组元素(checkbox)
            for (i = 0; i < items.length; i++) {//循环这组数据
                if (items[i].checked) {//判断是否选中
                    arrays.push(items[i].value);//把符合条件的数据添加到数组中,push()是JavaScript 数组中的方法
                }
            }
            alert("你选中的个数" + arrays.length);
        }

    (2)、基本选择器

    描述 示例
    改变id为one 的元素的背景色

    $("#one").css("background"."#bbffaa");

    改变class为mini的所有$(".mini")有元素的背景色

    $(".mini").css("background"."#bbffaa"

    改变元素名是<div>的$("div")所有元素的背景色 $("div").css("background"."#bbffaa");
    改变所有元素的背景色 $("*").css("background"."#bbffaa");

    改变所有的<span>元素和id为two的元素的背景色

    $("span,#two").css("background"."#bbffaa");

     

     

     

     

     

     

     

     

    (3)、层级选择器

    描述 示例
    改变<body>内所有<div>的背景色 $("body div").css("background","#bbffaa");
    改变<body>内子<div>的背景色 $("body >div").css("background","#bbffaa");

    改变class为one 的下一个<div>同辈元素的背景色

    $(".one+div").css("background","#bbffaa");

    改变id为two的元素后面的所有<div>辈元素的背景色辈元素的背景色

    $("#two~div").css("background","#bbffaa");

     

     

     

     

     

     

     

    在层级选择器中,第1个,第2个比较常用,而后面两个因为在iQuery里可以用更加简单的方法代替

    可以使用next()方法来代替$('prev+next')

    $('prev+next')//选择器与next()方法的等价
    $(".one +div"):
    $(".one").next("div");
    $('prev~siblings')//选择器与nextAlI()方法的等价关系选择器
    $("#prev~div");
    $("#prev").nextA11("div");

    例子:

    //选取#prev 之后的所有同辈div元素
    $("#prev.~div").css("background","#bbffaa");
    //同上
    $("#prev").nextA11("div").css("background","#bbffaa");
    //选取#rev所有的同辈div元素,无论前后位置
    $("#prev").siblings("div").css("background"."#bbffaa");

    (4)、过滤选择器

    4.1、基本过滤选择器

    选择器 描述 示例
    :first 选取第1个元素

    $("div:first")选取所有<div>元素中第1个<div>元素

    :last 选取最后一个元素 $("div:last")选取所有<div>元素中最后一个<div>元素
    :not(selector) 去除所有与给定选择器匹配的元素 $("input:not(.myClass)")选取class不是myClass的<input>元素
    :even 选取索引是偶数的所有元素 $("input:even")选取索引是偶数的
    :odd 选取索引是奇数的所有元素 $("input:odd")选取索引是奇数的
    :eq(index) 选取索引等于 index 的元素 $("input:eq(1)")选取索引等于1的<input>元素
    :gt(index) 选取索引大于index 的元素(index从0开始) $("input:gt(1)")选取索引大于1的<input>元素(注:大于1,而不包括1)
    :lt(index) 选取索引小于index 的元素(index从0开始) $("input:lt(1)")选取索引小于1的<input>元素(注:小于1,而不包括1)
    :header 选取所有的标题元素,例如hl,h2,h3等等 $(":header")选取网页中所有的<h1><h2>
    :animated 选取当前正在执行动画的元素 $("div:animated")选取正在执行动画的元素
    :focus 选取当前获取焦点的元素 $(:focus')选取当前获取焦点的元素

     

     

     

     

     

     

     

     

     

     

     

     

    4.2、内容过滤选择器

    选择器 描述 示例
    :contains(text) 选取含有文本内容为“text”的元素

    $("div:contains('我')")选取含有文本“我"的<div>元素

    :empty 选取不包含子元素或者文本的空元素

    $("div:empty")选取不包含子元素(包括文本元素)的<div>空元素

    :has(selector) 选取含有选择器所匹配的元素的元素 $("div:has(p)")选取含有<p>元素的<div>元素
    :parent 选取含有子元素或者文本的元素

    $("div:parent")选取拥有子元素(包括文本元素)的<div>元素

     

     

     

     

     

     

     

    4.3、可见性选择器

    选择器 描述 示例
    :hidden 选取所有不可见的元素

    $("hidden")选取所有不可见的元素。包括<inputtype="hidden"/>, <div style="display: none>
    <div style="visibility:hidden;">等元素。如果只想选取<input>元素,可以使用$(" input:hidden")

    :visible 选取所有可见的元素

    $("div:visible")选取所有可见的<div>元素

    4.4、属性过滤选择器

    选择器 描述 示例
    [attribute] 选取拥有此属性的元素 $(" div[id]")选取拥有属性id的元素
    [attribute=value] 选取属性的值等于 value的元素

    $(" div[title=test")选取属性 title为“test的<div>元素

    [attribute!=value] 选取属性的值不等于 value的元素 $(" div[title!=test")选取属性 title不为“test的<div>元素

    (注意:没有属性 title的<div>元素也会被选取)

    [attribute^=value] 选取属性的值以 value开始的元素

    $(" div[ltitle^=test]")选取属性 title以“test开始的<div>元素

    [attribute$=value] 选取属性的值以 value结束的元素 $(" div[ltitle$=test]")选取属性 title以“test结束的<div>元素
    [attribute*=value]

    选取属性的值含有vaue的元素集合元素

    $(" div[ltitle*=test]")选取属性 title有“test的<div>元素
    [attribute|=value] 选取属性等于给定字符串或以该字符串为前级(该字符串后跟一个连字符“-”)的元素 $('divl[titlel="en"]')选取属性 title不等于en或以en为前缀(该字符串后跟一个连字连字符“-”)的元素
    [attribute~=value] 选取属性用空格分隔的值中包含一个给定值的元素 $('div[title~="uk"]')选取属性 title用空格分隔的值中包含字符uk的元素
    [attribute1][attribute2][attribute3]

    用属性选择器合并成一个复合属性选择器,满足多个条件。每选择一次,缩小一次范围

    $("div[id][title$='test']")选取拥有属性id并且属性title以“test”结束的<div>元素

    4.5、子元素过滤选择器

    选择器 描述 示例
    :nth-child(index/even/odd) 选取每个父元素下的第 index个子元是从1开始的

    eq( index)只匹配一个元素,而nth-child将为每个元素匹配子元素nth-child(index)的index是从1开始,:eq(index)index是从0开始

    :first-child 选取每个父元素的第1个子元素

    :first只返回单个元素,而 :first-child选择符将为每个父元素的匹配第1个子元素

    例如s(" 'ul li:first-child");选取每个<ul>中第1个<li>

    :last-child 选取每个父元素的最后一个子元素

    :last只返回单个元素,而 :last-child选择符将为每个父元素的匹配最后一个子元素

    例如s(" 'ul li:last-child");选取每个<ul>中最后一个<li>

    :only-child

    如果某个元素是它父元素中惟一的子元素,那么将会被匹配,如果父元素中含有其他元素,则不会被匹配

    $("ul li:only-child")在ul中选取是唯一子元素的<li>元素

    nth- childe选择器是很常用的子元素过滤选择器,详细功能如下。 (1)nth- child(even)能选取每个父元素下的索引值是偶数的元素。 (2) nth-child(od)能选取每个父元素下的索引值是奇数的元素。 (3)mnth- child(2)能选取每个父元素下的索引值等于2的元素 (4)nth- child(3n)能选取每个父元素下的索引值是3的倍数的元素,(n从1开始)。 (5) nth-child3n+1)能选取每个父元素下的索引值是(3n+1)的元素。(n从1开始

    4.6、表单对象属性过滤选择器

    选择器 描述 示例
    :enabled 选取所有可用元素

    s("# form1: enabled")选取id为“fom1”的表单内的所有可用元素

    :disabled 选取所有不可用元素 s("# form1: disabled")选取id为“fom1”的表单内的所有不可用元素
    :checked 选取所有被选中的元素(单选框复选框) $(input: checked)选取所有被选中的< input>元素
    : selected

    选取所有被选中的选项元素(下拉列表)

    $("select option: selected");选取所有被选中的元素

     

    4.7、表单选择器

    选择器 描述 示例
    :input 选取所有<input>、< textarea>、<select>和<button>元素 $(:input)
    :text 选取所有的单行文本框 $(:text)
    :password 选取所有的密码框 $(:password)
    :radio 选取所有的单选按钮 $(:radio)
    :checked 选取所有的复选框 $(:checked)
    :submit 选取所有的提交按钮 $(:submit)
    :image 选取所有的图像按钮 $(:image)
    :button 选取所有的按钮 $(:button)
    :file 选取所有的文件域 $(:file)
    :hidden 选取所有的不可见元素 $(:hidden)
    :reset 选取所有的重置按钮 $(:reset)

    选择器的注意事项:如果选择器包含特殊符号 ".",".","#","(",或"]",需要用转义字符

    <div id="one#">aa</div>//html代码
    $('#one\#');//转义字符#

    属性选择器@符号的问题:使用1.3.1版本以上的jQuery,不需要在属性前面加@符号

    $("div[@title='test']");//错误写法
    $("div[title='test']");//正确写法

    选择器中的空格多一个或者少一个结果都会不一样

    var $t_a=$(' test :hidden');//带空格的J0uery选择器
    var $t_b=s('.test:hidden');//不带空格的J0uery选择器
    var len_a= $t_a.length;
    var len_b= $t_b.length;
    alert("$('.test :hidden')="+len_a);//输出4
    alert("$('.test:hidden')="+len_b);//输出3

    二:jQuery的DOM操作

    (1)、查找元素节点和属性节点

    //html代码
    <p title="选择你喜欢的水果">你最喜欢的水果</p>
        <ul>
            <li title="苹果">苹果</li>
            <li title="橘子">橘子</li>
            <li title="菠萝">菠萝</li>
        </ul>

    JavaScript代码:

    var lis=$('ul li:eq(1)');//获取ul里第二个li节点
    var lis_text=lis.text();//获取第二个li元素节点的文本内容
    alert (lis_text);//打印文本内容
    var p_attr=$("p").attr("title");//获取p元素节点属性title
    alert (p_attr);//打印文本内容

    (2)、创建节点

       var li_1=$("<li></li>");//创建元素节点
        $('ul').append(li_1);//添加到ul中
        var li_2=$('<li>菠萝</li>');//创建带文本的节点
        $('ul').append(li_2);//添加到ul中
        var li_3=$('<li title="菠萝">菠萝</li>');//创建属性节点,title为属性节点
        $('ul').append(li_3);//添加到ul中

    (3)、插入节点

     向每一个匹配的元素内容追加内容—— $("p").append("<b>李四</b>");//结果<p>我是<b>李四</b></p>
      $(A).appendTo(B)将A追加到B中——$("<b>李四</b>").appendTo("p");//结果<p>我是<b>李四</b></p>
      向每一个匹配的元素内部前置内容——$("p").prepend("<b>李四</b>");//结果<p><b>李四</b>我是</p>
      $(A).appendTo(B)将A前置B中——$("<b>李四</b>").prependTo("p");//结果<p><b>李四</b>我是</p>
      向每一个匹配的元素之后插入内容——$("p").after("<b>李四</b>");//结果<p>我是</p><b>李四</b>
      $(A).insertAfter(B)将A插入B后面——$("<b>李四</b>").insertAfter("p");//结果<p>我是</p><b>李四</b>
      向每一个匹配的元素之前插入内容——$("p").before("<b>李四</b>");//结果<b>李四</b><p>我是</p>
      $(A).insertBefore(B)将A插入B前面——$("<b>李四</b>").insertBefore("p");//结果<b>李四</b><p>我是</p>

    (4)、删除节点

    1. remove0方法:该方法会把该节点的所有后代 节点同时删除,返回的是已被删除节点的引用,因此可以继续使用

    var lis=$('ul li:eq(1)').remove();//删除第二个li
    lis.appendTo("ul");//把刚刚删除的添加到ul中
    $('ul li:eq(1)').remove().appendTo("ul");//直接写到一行

    2. detach()方法:与remove()方法一样,不同的是,所有绑定的事件和数据都会保留下来

    var lis=$('ul li:eq(1)').detach();//删除第二个li
    lis.appendTo("ul");//把刚刚删除的添加到ul中,如果使用remove的话,那么它之前绑定的事件会失效

    3. empty()方法:并不是删除,而是清空节点,清空元素中所有后代节点

    var lis=$('ul li:eq(1)').empty();//清空li里面的内容,节点还会存在

    (5)、复制节点clone (): 该方法中传递的参数是true,表示深度克隆,会把所绑定的事件和后代节点同事复制

    $('ul li').click(function (){
            $(this).clone (true).appendTo("ul");//复制当前点击的节点,追加到ul中
        });

    (5)、替换节点:两个方法用法一样,位置不一样

    替换之前已经为元素绑定了事件,替换后原先绑定的事件将会与被替换的元素一起消失

      $("p").replaceWith("hello");//把p额内容替换为hello
      $("<strong>hello</strong>").replaceAll("p");//注意:当使用replaceAll的时候,前面的要用标签如:strong包裹起来,不然就会被删除

    (6)、包裹节点

     $("p").wrap("<div></div>");//用div把p包裹起来,单个包裹,一个p一个div
     $("p").wrapAll("<div></div>");//全部包裹
     $("p").wrapInner("<div></div>");//div在p里面,包裹在里面

    (7)、属性操作

     $(p).attr("title");//获取p元素节点属性title
     $(p).attr("title","you");//给p元素的title属性设置单个值
     $(p).attr({"title":"you","name":"oso"});//给p元素的title属性设置单多个值
     $(p).removeAttr("title");//删除p元素的title属性

    (8)、样式操作

     8.1、添加样式 attr和addClass的区别:

    方法 addClass attr
    用途 追加样式 设置样式
    对同一个网页操作 <p>hello</p>
    第一次使用方法
    $('p').addClass('color');
           
     $('p').attr('class','font');
    第一次结果 <p class="color">hello</p>
    再次提交  $('p').addClass('font');
     $('p').attr('class','font');
    最终结果 <p class="color font">hello</p> <p class="font">hello</p>

    $('p').attr('class');//可以用attr来获取p元素, $('p').attr('class','font');//用attr来设置值
    $('p').addClass('color'); //是追加样式

    8.2、移除样式:removeClass

    $('p').removeClass('color').removeClass('font');//可以调用两次
    $('p').removeClass()//不带参数会把全部样式移除

    8.3、切换样式:toggleClass

    8.4、判断是否有某个样式:hasClass,有返回true,负责返回false,为了增强代码的可读性,在jQuery内部,实际上是调用了is()方法

    $('p').hasClass('color');//等于$('p').is('color');

    (9)设置和获取HTML,文本和值

    9.1、html方法,此方法类似与js的innerHTML方法,可读取和设置HTML内容,可以用于xhtml文档,但不能用于xml文档

    9.2、text方法,此方法类似与js的innerText方法,可读取和设置文本内容,可以用于xhtml文档和xml文档,Js的innerText的属性不能在firefox浏览器上运行,而jquery的text的方法支持所有的浏览器

    9.3、val方法,此方法类似与js的value方法,可读取和设置元素的值

    9.3.1、当地址框获取鼠标焦点时,如果地址框的值为“请输入邮箱地址”,则将地址框中的值清空

    $('#input').focus(function(){//地址框获取鼠标焦点
                var inputValue=$(this).val();//得到当前文本框的值
                if(inputValue=='请输入邮箱地址'){//判断是否符合,则清空文本框}
                    $(this).val('');
                }
            });

    上面的例子可以使用表单元素的defaultValue属性来实现同样的功能,this.defaultValue,当前文本框的默认值

    $('#input').focus(function(){
                var inputValue=$(this).val();
                if(inputValue==this.defaultValue){
                    $(this).val('');
                }
            });

    9.3.2、当地址框失去鼠标焦点时,如果地址宽的纸为空,则将地址框的值设置为“请输入邮箱地址”

    $('#input').blur(function(){
                var inputValue=$(this).val();
                if(inputValue==''){
                    $(this).val('请输入邮箱地址');
                }
            });

     val方法不仅能设置和获取元素的值,还有另外一个用途,就是它能使select, checkbox, radio相应的选项被选中,同样attr也可以实现同样的功能

    $('#sel').val(['选择1号'])//选中2号,选择一个可用,可不用数组
    $('#sel').val(['选择2号','选择3号']);//以数组的形式赋值
    $(':radio').val(['radio1','radio2']);//CheckBox和radio要用数组的形式
    $(':checkbox').val(['checkbox1','checkbox2']);

    (10)、遍历节点

    10.1、children:获取匹配元素的所有子元素的个数,只考虑子元素不考虑后代元素

    10.2、next:取得匹配元素后面紧邻的同辈元素

    10.3、prev:取得匹配元素前面紧邻的同辈元素

    10.4、siblings:取得匹配元素前后所有的同辈元素

    10.5、closest:取得最近的匹配元素检查当前元素是否匹配,如果匹配则返回,如果没有匹配则向上查找父元素,直到找到为止,如果没有找到,则会返回一个空,只返回匹配的第一个

    10.6、parent:获取集合中每个匹配元素的附件,返回一个元素节点

    10.7、parents:或者集合中每个匹配元素的祖先元素,返回多个父节点

    (11)、cssDOM的操作:注意:如果只是数字,则会要加上像素值px,如果属性中带-符号,在设置的时候使用驼峰式写法fontSize

    可以直接用css()方法,获取元素的样式,也可以设置样式,与attr方法一样

    $('p').css({"fontSize":"50px","backgroundColor":"red"})

    11.1、offset:有left和top,获取元素在当前视口的相对偏移值

    11.2、position:有left和top,获取元素相对于最近的一个position样式,属性设置relative和absolute的祖父节点的相对便宜

    11.3、scrollTop() 和scrollLeft()获取元素的滚动条距顶端和左侧的距离

    $('p').height();//获取高度
    $('p').height(500);//设置高度
    $('p').offset().left;//获取p元素的offsetleft的值,元素必须设置了position为absolute或者relative
    $('p').scrollTop()//获取元素的滚动条距顶端的距离

     三:jQuery的事件和动画

    (1)、判定事件,下面三种是相等的

      $('p').click(function(){
            alert("a")
        });
        $('p').on('click',function(){
            alert("a")
        });
        $('p').bind('click',function(){
            alert("a")
        });
  • 相关阅读:
    邻接表
    分治
    当遇到error: stray '241' in program错误的解决方法
    cmd / msys2 添加到右菜单
    洛谷P1003 铺地毯
    【洛谷P3372】【模板】线段树 1
    【codevs1082】线段树练习 3
    【codevs1081】线段树练习 2
    【codevs1080】线段树练习1
    【洛谷P1731】生日蛋糕
  • 原文地址:https://www.cnblogs.com/pengppp/p/11760109.html
Copyright © 2020-2023  润新知