2015年12月20日

jQuery

  • 对比

function getByClass(oParent, sClass)
{
 var aEle=oParent.getElementsByTagName('*');
 var aResult=[];
 var i=0;

 for(i=0;i<aEle.length;i++)
 {
  if(aEle[i].className==sClass)
  {
   aResult.push(aEle[i]);
  }
 }

 return aResult;
}

使用jQuery可以简写成:$('sClass')

  • 跳转

<meta http-equiv="refresh" content="3;url=http://www.taobao.com">

网页会在3秒后跳转到淘宝网。

  • jQuery选择器

选择器

实例

选取

$("*")

所有元素

$("#lastname")

id="lastname" 的元素

$(".intro")

所有 class="intro" 的元素

$("p")

所有 <p> 元素

.class.class

$(".intro.demo")

所有 class="intro" 且 class="demo" 的元素

$("p:first")

第一个 <p> 元素

$("p:last")

最后一个 <p> 元素

$("tr:even")

所有偶数 <tr> 元素

$("tr:odd")

所有奇数 <tr> 元素

$("ul li:eq(3)")

列表中的第四个元素(index 从 0 开始)

$("ul li:gt(3)")

列出 index 大于 3 的元素

$("ul li:lt(3)")

列出 index 小于 3 的元素

:not(selector)

$("input:not(:empty)")

所有不为空的 input 元素

$(":header")

所有标题元素 <h1> - <h6>

所有动画元素

$(":contains('W3School')")

包含指定字符串的所有元素

$(":empty")

无子(元素)节点的所有元素

:hidden

$("p:hidden")

所有隐藏的 <p> 元素

$("table:visible")

所有可见的表格

s1,s2,s3

$("th,td,.intro")

所有带有匹配选择的元素

$("[href]")

所有带有 href 属性的元素

$("[href='#']")

所有 href 属性的值等于 "#" 的元素

$("[href!='#']")

所有 href 属性的值不等于 "#" 的元素

$("[href$='.jpg']")

所有 href 属性的值包含以 ".jpg" 结尾的元素

$(":input")

所有 <input> 元素

$(":text")

所有 type="text" 的 <input> 元素

$(":password")

所有 type="password" 的 <input> 元素

$(":radio")

所有 type="radio" 的 <input> 元素

$(":checkbox")

所有 type="checkbox" 的 <input> 元素

$(":submit")

所有 type="submit" 的 <input> 元素

$(":reset")

所有 type="reset" 的 <input> 元素

$(":button")

所有 type="button" 的 <input> 元素

$(":image")

所有 type="image" 的 <input> 元素

$(":file")

所有 type="file" 的 <input> 元素

$(":enabled")

所有激活的 input 元素

$(":disabled")

所有禁用的 input 元素

$(":selected")

所有被选取的 input 元素

$(":checked")

所有被选中的 input 元素

filter()可以为元素进一步缩减为指定的选择器元素。

    $('li').filter(':even').css('background','red');
    //也可以写成下面的方式。
    $('li:even').css('background','red');

    $('a').filter('.external')  
    //也可以写成下面的方式。
    $('a').filter(function(index) {  
        return $(this).hasClass('external');  
    })
  • 属性选择器

    • E[attr]:只使用属性名,但没有确定任何属性值;

    • E[attr="value"]:指定属性名,并指定了该属性的属性值;

    • E[attr~="value"]:指定属性名,并且具有属性值,此属性值是一个词列表,并且以空格隔开,其中词列表中包含了一个value词,而且等号前面的“〜”不能不写;

    • E[attr^="value"]:指定了属性名,并且有属性值,属性值是以value开头的;

    • E[attr$="value"]:指定了属性名,并且有属性值,而且属性值是以value结束的;

    • E[attr*="value"]:指定了属性名,并且有属性值,而且属值中包含了value;

    • E[attr|="value"]:指定了属性名,并且属性值是value或者以“value-”开头的值(比如说zh-cn);

  • jQuery设计思想写法

方法函数化

window.onload=function(){};//原生写法
$(function(){});//jQuery写法

$();//相当于有一个函数function $(){};

innerHTML = 123;
html(123);
function html(){};

onclick = function(){};
click(function(){});
function click(){};
  • javascript与jQuery不能混用

$(function(){

    $('#div1').click(function(){

        //alert( $(this).html() );  //jq的写法

        //alert( this.innerHTML );  //js的写法

        alert( $(this).innerHTML );  //错误的
        alert( this.html() );  //错误的 
    });    
});

Last updated