jQuery实战读书笔记(备忘录)

选择器备忘

| :even 

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

:odd

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

实例——设置table交替行变色:

<script type="text/javascript">

        $(function(){

            $('#main_table tr').filter(':even').css({'background':'#0ff'}).filter(':odd').css({'background':'#f00'});
//注1 }); </script>
        <tr>

            <td width="100">a1</td>

            <td width="100">b1</td>

        </tr>

        <tr>

            <td width="100">a2</td>

            <td width="100">b2</td>

        </tr>

        <tr>

            <td width="100">a3</td>

            <td width="100">b3</td>

        </tr>

        <tr>

            <td width="100">a4</td>

            <td width="100">b4</td>

        </tr>

        <tr>

            <td width="100">a5</td>

            <td width="100">b6</td>

        </tr>

        <tr>

            <td width="100">a6</td>

            <td width="100">b6</td>

        </tr>

		<tr>

            <td width="100">a7</td>

            <td width="100">b7</td>

        </tr>

    </table>

当然也可以这么做:

$(function () {

    $("table#main_table tr").each(function (i) {

        var _this = $(this);

        if (i % 2 == 0)  //从0开始

        {

            _this.css("background", "#0ff"); //odd

        } else {

            _this.css("background", "#f00"); //even

        }

    });

});
View Code

 另外

:nth-child()

匹配其父元素下的第N个子或奇偶元素

$("table#main_table tr:nth-child(3n)").css({ 'background': '#f00' });

其中n可以使具体的正数,也可以是3n、2n这种形式的。

注1:形如table#main_table(当然这里如果是class更恰当)它和table #main_table不一样。后者是一个undefined。

 
|:contains(text)
匹配包含给定文本的元素
 <div>John Resig</div>

 <div>George Martin</div>

 <div>Malcom John Sinclair</div>

 <div>J. Ohn</div>
$('div:contains("John")').size() //注意引号的打法是:外双里单 vs 外单里双 vs text不加引号

结果为:2

另外:$('div').contains("John").size() 在jQuery1.2已被废弃。它的等同形式为:

$.fn.contains = function (text) {

    return $(this).filter(':contains(' + text + ')');

}  //注意标志部分要么都用单引号,要么都用双引号

 

 

对象访问
| each(function)
以每一个匹配的元素作为上下文来执行一个函数(即遍历对象)
这里主要是区别$(obj).each(function)和$.each(obj,function());
var obj = { name: "John", lang: "JS" };

$.each(obj,function (index,domEle) {

    alert("Name: " + index + ", Value: " + domEle);

}); //index标示key domEle标示value

或者

$(obj).each(function (index,domEle) {

    alert("Name:"+domEle.name+",Value:"+domEle.lang);

});//index标示下标,domEle标示obj的每个对象

 

效果

| fadeOut

使原本显示的元素淡出

$('div').css('display','block');

$(':button').click(function(){

	 $('div').fadeOut('slow',function(){

		alert('end');

	 });

});

<input type="button" value="测试" >

<div style="width:100px;height:100px;border:1px solid red;">

	hello world

</div>

| fadeIn

使原本隐藏的元素淡入

demo同上

| fadeTo

调整(隐藏元素)元素的不透明度

$('div').css('display','none');

$(':button').click(function(){

	 $('div').fadeTo('slow',0.6,function(){

		alert('end');

	 });

});

| slideDown

使原本隐藏的元素向下滑动出现

$('div').css('display','none');

$(':button').click(function(){

	 $('div').slideDown('slow',function(){

		alert('end');

	 });

});

  

| slideUp

使原本显示的元素向上滑动出现

demo同上

 

| slideToggle

如果元素显示则执行slideUp();如果元素隐藏则执行slideDown()

$(':button').click(function(){

	 $('div').slideToggle('slow',function(){

		alert('end');

	 });

});

相当于

$(':button').click(function(){

	if($('div').is(':hidden'))

	{

		 $('div').slideDown('slow',function(){

			alert('end');

		 });

	}else

	{

		 $('div').slideUp('slow',function(){

			alert('end');

		 });

	}

});

 

 

你可能感兴趣的:(jquery)