zoukankan      html  css  js  c++  java
  • jQuery

    1. HTML5 data-属性可以存储用户无法看到的自定义数据(data-xxxx-xxxx)。例如:

    <img class="myimg" src="images/index.jpg" data-jquery-title="标题-index" data-jquery-descripe="this is index.jpg">

    获取自定义数据:

    $('.myimg').click(function(e){
        alert($(this).attr("data-jquery-title"));
        alert($(this).attr("data-jquery-descripe"));
    });

     2. 选择器

    $("p:even"):选择所有偶数行的<p>元素

    $("tr:nth-child(1)"):选择每个表格的第一行元素

    $("body > div"): 选择作为<body>直接子节点的<div>元素

    $("a[href$='pdf']"): 选择连接到PDF文件的超链接元素

    $("body > div:has(a)"): 选择作为<body>直接子节点的、包含超链接(<a>)的<div>元素

    3. $()的其他作用:

      (1)作为一些通用实用函数集的命名空间前缀

      比如:$.trim(something) 去除字符串something前后空格的实用函数,等价于jQuery.trim(something)

      (2)创建DOM元素

    $(function(){
      $("<p>Hi here!</p>").insertAfter("#p1");
    });
    

    4. jQuery支持的基础CSS选择器

      *    匹配所有远胜于

      E    匹配标签名为E的所有元素(比如:$("div")匹配所有的div)

      E F   匹配标签名为F的所有元素,这些元素是E的子节点(比如:$("div ul")匹配所有的div中的ul子节点)

      E>F   匹配标签名为F的所有元素,这些元素是E的直接子节点(比如:$("div ul")匹配所有的div中的ul直接节点)

      E+F   匹配标签名为F的所有元素,这些元素是E的第一个兄弟节点

      E~F   匹配标签名为F的所有元素,这些元素是E后面的兄弟节点之一

      E.C    匹配标签名为E的所有元素,这些元素拥有CSS类名为C,如果省略E则相当于*.C(比如:$("div.mydiv")匹配拥有类名为mydiv的所有div)

      E#I   匹配标签名为E的所有元素,这些元素的id特征值为I,如果省略E则相当于*#I(比如:$("div#mydiv")匹配拥有id为mydiv的所有div)

      E[A]   匹配标签名为E的所有元素,这些元素拥有特征A(比如:$("div[title]")匹配拥有特征title所有div)

      E[A=V]   匹配标签名为E的所有元素,这些元素的A特征值为V(比如:$("div[title='mytitle']")匹配拥有title的特征值为mytitle所有div)

      E[A^=V]   匹配标签名为E的所有元素,这些元素的A特征值以V开头(比如:$("div[title^='my']")匹配拥有title的特征值以my开头所有div)

      E[A$=V]   匹配标签名为E的所有元素,这些元素的A特征值以V结束(比如:$("a[href$='.pdf']"),用来定向所有指向pdf文件的链接)

      E[A!=V]   匹配标签名为E的所有元素,这些元素的A特征值不等于V,或者根本就不存在A特征

      E[A*=V]   匹配标签名为E的所有元素,这些元素的A特征值包含V(比如:$("a[href*='jquery.com']"),指向链接地址中包含jquery.com的所有<a>元素)

       5. 创建新的HTML

    $('<img></img>',{
        src:	'images/index.jpg',
        alt:	'index.jpg',
        title:	'add img',
        click:	function(){
        alert($(this).attr('title'));
      }
     }).css({
    	border:		'solid 1px black',
    	padding: 	'12px 12px 12px 12px',
    	backgroundColor:'white'	
    }).appendTo('body');

    或者:

    $('<img></img>',{
      src:	'images/index.jpg',
      alt:	'index.jpg',
      title:	'add img',
      click:	function(){
    	alert($(this).attr('title'));
      },
      css:	{
    	border:		'solid 1px black',
    	padding: 	'12px 12px 12px 12px',
    	backgroundColor:'white'	
      }
    }).appendTo('body');

    5. prepend To(targets)和insertBefore(targets)的区别:

      比如:$('<p>This is p.I am insert here</p>').insertBefore($('div.divContext'));是将<p>This is p.I am insert here</p>插入到div的前面,并不是div元素的里面。即div并不包含This is p.I am insert here。

      而$('<p>This is p.I am insert here</p>').prependTo($('div.divContext'));是将<p>This is p.I am insert here</p>插入到div的开头,是在div的里面。即div包含This is p.I am insert here。

    6. 包裹与反包裹

     (1)用带有hello类的<div>将所有拥有surprise类的链接分别包裹起来。

    jQuery:
        $("a.surprise").wrap("<div class='hello' style='border:solid 1px red;'></div>");
    html:
        <a class="surprise" href="www.baidu.com">百度1</a>
        <a class="surprise" href="www.baidu.com">百度2</a>
        <a class="surprise" href="www.baidu.com">百度3</a>
    

    效果:

    等效于:

    <div class='hello' style='border:solid 1px red;'>
          <a class="surprise" href="www.baidu.com">百度1</a>
    </div> <div class='hello' style='border:solid 1px red;'> <a class="surprise" href="www.baidu.com">百度2</a> </div> <div class='hello' style='border:solid 1px red;'> <a class="surprise" href="www.baidu.com">百度3</a> </div>

    (2)如果想要将包装集中的全部元素作为一个整体包裹起来,则可以使用wrapAll()方法:

    $("a.surprise").wrapAll("<div class='hello' style='border:solid 1px red;'></div>");
    

     效果: 

    (3)反向操作,也就是删除子元素的父节点,可以通过unwrap()方法来实现。

      比如:

    html:
      <div class='hello' style='border:solid 1px red;'> <a class="surprise" href="www.baidu.com">百度1</a>   </div>   <div class='hello' style='border:solid 1px red;'>   <a class="surprise" href="www.baidu.com">百度2</a>   </div>   <div class='hello' style='border:solid 1px red;'>   <a class="surprise" href="www.baidu.com">百度3</a>   </div>
    jQuery:
      $("a.surprise").unwrap("<div class='hello' style='border:solid 1px red;'></div>");

      删除子元素的父节点之后的效果:

    7. val()用法:

      (1)获取单选按钮组的选中值$('[name="radio1"]:checked').val()

      (2)获取多选按钮组的选中值

    var checkboxValues = $('[name="checkbox1"]:checked').map(
    	function(){
    		 return $(this).val();
    	}
     ).toArray();
    

      (3)将包装集中的任何复选框、单选框或者<select>元素的可选项变成选中(checked)或者选择(selected)状态,只要它们的值匹配传入的数组中的任何一个值。比如,

    选中值为"two"的单选框:$('input[name="radio1"]').val(['two']);

    选中值为"one","two","three"的复选框:$('input[name="checkbox1"]').val(['one','two','three']);

  • 相关阅读:
    小小知识点(二)——如何修改win10 的C盘中用户下的文件夹名称
    Day15 Python基础之logging模块(十三)
    Day14 Python基础之os/sys/hashlib模块(十二)
    Day13 Python基础之time/datetime/random模块一(十一)
    Day12 Python基础之生成器、迭代器(高级函数)(十)
    Day11 Python基础之装饰器(高级函数)(九)
    火狐HACK
    javascript操作cookie
    <!DOCTYPE>标签的定义与用法
    前端性能优化
  • 原文地址:https://www.cnblogs.com/hardworkingbee/p/4476753.html
Copyright © 2011-2022 走看看