`

学习笔记:jQuery基础教程

阅读更多

第一章:入门

$()取得页面中的元素

$(document).ready(function(){
 $('.poem-stanza').addClass('emphasized');
});

说明:

$('.poem-stanza')       //取得页面中添加了类poem-stanza的元素

.addClass('emphasized');   //添加Css样式,emphasized为类样式

.removeClass();

 

第二章:选择符

$(document).ready(function(){

 //CSS选择符
 $('#selectedplays>li').addClass('horizontal');          //查找id为selectedplays元素的顶层子元素li,添加样式
 $('#selectedplays>li:not(.horizotal)').addClass('sublevel');    //查找id为selectedplays元素的顶层子元素li,并且没有类horizotal 

 //XPath选择符
 $('a[@href^="
mailto:"]').addClass('mailto');           //查找锚元素中属性href以“mailto:”开头的元素
 $('a[@href$=".pdf"]').addClass('pdflink');            //查找锚元素中属性href以“.pdf”结尾的元素
 $('a[@href*="mysite.com"]').addClass('mysite');        //查找锚元素中属性href中包含“mysite.com”的元素(任意位置)

 //自定义选择符
 $('tr:odd').addClass('odd');                   //查找奇数行
 $('tr:even').addClass('even');                  //查找偶数行
 //注::odd()和:even()选择符使用的都是Javascript本身的从0开始得编号方式。表格的第1行编号为0(偶数),而第2行编号为1(奇数)
 $('td:contains("Henry")').addClass('highlight');                   //查找td中包含"Henry"的

 //DOM遍历方法
 $('th').parent().addClass('tableheading');           //查找th的父元素即标题行
 $('tr:not([th]):even').addClass('even');              //查找tr元素中不包含子为th的,并且是偶数行
 $('tr:not([th]):odd').addClass('odd');           
 $('td:contains("Henry")').next().addClass('highlight');         //查找td中包含“Henry”的单元格的下一个单元格
 $('td:contains("Comedy")').siblings().addClass('highlight');  //查找td中包含“Comedy”的同级单元格
 $('td:contains("Comedy")').parent().find('td:gt(0)').addClass('highlight');
 //查找td中包含“Comedy”的父,再去查找td单元格编号大于0的单元格
 $('td:contains("Comedy)').parent().find('td').not(':contains("Comedy")').addClass('highlight');
 //查找td中包含“Comedy”的父,再去查找td单元格不包含“Comedy”的单元格

 //访问DOM元素
 var tag = $('#myelement').get(0).tagName;
});

 

第三章:事件――扣动扳机

绑定事件:

       .bind(‘click’,function(){})

       $(‘#switcher-large’).bind(‘click’,function(){…});idswitcher-large的元素绑定click事件

       可简写为

       $(‘#switcher-large’).click(function(){…});

 

       方法:

l         .toggle(function(){},function(){})

接受两个参数(都是函数)第一次点击调用第一个函数,第二次点击调用第二个

$(‘#switcher h3’).toggle(function(){

       $(‘#switcher .button’).addClass(‘hidden’);

},function(){

       $(‘#switcher .button’).removeClass(‘hidden’);

});

.toggleClass()是一种跟优雅得方案,但对于交替执行的操作而言,.toggle()的适用性更强

$(‘#switcher h3’).click(function(){

       $(‘#switcher .button’).toggleClass(‘hidden’); //自动检查该类是否存在

});

l         .hover(function(){},function(){})

接受两个函数参数,第一个指针进入,第二个指针离开

$(‘#switcher .button’).hover(function(){

       $(this).addClass(‘hover’);

},function(){

       $(this).removeClass(‘hover’);

});

l         .unbind(‘click’)

移除事件

l         .trigger(‘click’)

模拟用户操作

$(‘#switcher’).trigger(‘click’); 模拟点击了一次switcher

l          

第四章:效果――为操作添加艺术性

1.         修改内联CSS

语法:    .css(‘property’,’value’);

              .css(‘property’:’value’,’property’:’value’);

用法:

       var currentSize = $(‘div.speech’).css(‘fontSize’);//得到div.speech得字体大小

       var num = parasFloat(currentSize,10);  //currentSize转换为Float

       var unit = currentSize.slice(-2); //返回从指定的字符开始的一个子字符串,-2为倒数第二个

       num *= 1.5;

       $(‘div.speech’).css(‘fontSize’,num+unit); //设置样式

2.         基本的显示和隐藏

.show();

.hide();

用法:

       $(‘p:eq(1)’).hide(); //将第二个段落隐藏

3.         效果和速度

l         指定显示速度

3种:slownormalfast 时间:0.60,40.2。也可以指定.show(850)

$(‘p:eq(2)’).show(‘slow’);

l         淡入和淡出

.fadeIn();        //淡出

.fadeOut();   //淡出

$(‘p:eq(2)’).fadeIn(‘slow’);

4.         多重效果

语句:.animate({param1:’value1’,parame2:’value2’},speed,function(){回调});

用法:$(‘p:eq(1)’).animate({height:’show’,width:’show’,opacity:’show’},’slow’);

       这里使用简写的show将高度、宽度回复到被隐藏之前的值

5.         并发与排队效果

l         处理一组元素

$(‘div.buttont’).animate({left:650},’slow’).animate({height:38},’slow’);

先移动到left650的位置,在将高度设置为38

$(‘div.button’)

       .fadeTo(‘slow’,0.5)                            //先淡化

       .animate({left:650},’slow’)           //在移动

       .fadeTo(‘slow’,1.0)                            //在淡出

       .slideUp(‘slow’)                          //最后滑到上方隐藏

 

注意:排队不适用于其他的非效果方法,例如:.css()

l         处理多组元素

$(‘p:eq(2)’).slideUp(‘slow’).next().slideDown(‘slow’); 段落3向上滑出,同时段落4向下滑入

回调函数:

Var $thisPara = $(‘p:eq(2)’);

$(‘p:eq(2)’).next().slideDown(‘slow’,function(){

       $thisPara.slideUp(‘slow’);

});

段落4下滑完成后,段落3才开始上滑

 

 

作者:冰碟
出处:http://www.cnblogs.com/icebutterfly/
版权:本文版权归作者和博客园共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任

 

第六章:AJAX 让网站与时俱进

1.     基于请求加载数据

l         追加HTML

//载入远程 HTML 文件代码并插入至 DOM

$('#dictionary').load('a.html',function(){

      Alert(“加载完毕!”);//回调函数

})

l         操作JavaScript对象

JSON

[

{

    "term": "BACKBITE",

    "part": "v.t.",

    "definition": "To speak of a man as you find him when he can't find you."

  },

  {

    "term": "BEARD",

    "part": "n.",

    "definition": "The hair that is commonly cut off by those who justly execrate the absurd Chinese custom of shaving the head."

  }

]

JQuery:

$.getJSON('b.json',function(data){ //通过 HTTP GET 请求载入 JSON 数据

            $.each(data,function(entryIndex,entry){

                var html = '<div class="entry">';

                html += '<h3 class="term">' + entry['term'] + '</h3>';

                html += '<div class="pare">' + entry['part'] + '</div>';

                html += '<div class="definition">';

                html += entry['definition'];

                if(entry['quote']){

                    html += '<div class="quote">';

                    $.each(entry['quote'],function(lineIndex,line){

                        html += '<div class="quote-line">' + line + '</div>';

                    });

                    if(entry['author']){

                        html += '<div class="quote-author">' + entry['author'] + '</div>';

                    }

                    html += '</div>';

                }

                html += '</div>';

                html += '</div>';

            });

l         执行脚本

通过 HTTP GET 请求载入并执行一个 JavaScript 文件

$.getScript('c.js',function(){

    Alert(“加载完毕”);//回调函数

});

l         加载XML文档

//通过远程 HTTP GET 请求载入信息。

$.get('d.xml',function(data){

        $(data).find('entry').each(function(){

                var $entry = $(this);

                var html = '<div class="entry">';

                html += '<h3 class="term">' + $entry.attr('term') + '</h3>';

                html += '<div class="part">' + $entry.attr('part') + '</div>';

                html += '<div class="definition">'

                html += $entry.find('definition').text();

                var $quote = $entry.find('quote');

                if($quote.length){

                    html += '<div class="quote">';

                    $quote.find('line').each(function(){

                        html += '<div class="quote-line">' + $(this).text() + '</div>';                    

                    });

                    if($quote.attr('author')){

                        html += '<div class="quote-author">' + $quote.attr('author') + '</div>';

                    }

                    html += '</div>';

                }

                html += '</div>';

                html += '</div>';

                $('#dictionary').append($(html));

            });

        });

2.     选择数据格式

3.     向服务器传递数据

4.     关注请求

方法:

.ajaxStart()

.ajaxStop()

AJAX请求开始且尚未进行其他传输时,会触发.ajaxStart()的回调函数,相反,当最后一次活动请求终止时,则会执行通过.ajaxStop()注册的回调函数。

示例:  

//当请求时,显示#loading,结束时,隐藏loading

$(document).ready(function(){

$('#loading').ajaxStart(function(){

     $(this).show();

}).ajaxStop(function(){

     $(this).hide();

});

});

5.     Ajax和事件

限制函数绑定的作用域

$(document).ready(function(){

var bindBehaviors = function(scope){

     $('h3',scope).click(function(){

         $(this).toggleClass('highlighted');

     });

}; 

bindBehaviors(this);

//这里的绑定作用域是document

$(document).ready(function(){

     $('#letter-a .button').click(function(){

         $('#dictionary').hide().load('a.html',function(){

             bindBehaviors(this);

//这里的是文档中的所以<h3>元素

             $(this).fadeIn();

         });

     });

});

});

6.     安全限制

 

0
0
0
(请您对文章做出评价)

第五章:DOM操作-基于命令改变页面

1.     操作属性

l         css属性

$(document).ready(function(){

    $('div.chapter a[@href*=wikipedia]').each(function(index){

        var $thisLink = $(this);

        $thisLink.attr({

            'rel': 'external',

            'id': 'wikilink-' + index,

            'title': 'learn more about ' + $thisLink.text() + ' at wikipedia'

        });

    });

});

//遍历div.chapter 下面所以锚元素href中包含wikipedia,为其添加属性

l         深入理解$()工厂函数

$('<a href="#top">back to top</a>');    创建新元素

2.     插入新元素

.insertBefore()

.before()

作用相同,区别取决于将它们与其他方法进行连缀

.insertAfter()

.after()

// $('div.chapter p').after('<a href="#top">back to top</a>');

// $('div.chapter p').before('<a href="#top">back to top</a>');

$('<a href="#aaa">back to top</a>').insertAfter('div.chapter p');

$('<a id="aaa" name="top"></a>').prependTo('body');

.perpendTo插入了作为目标的锚

// $('<a href="#top">back to top</a>').insertBefore('div.chapter p');

3.     移动元素

$('span.footnote').insertBefore('#footer');

span中类为footnote的插入到idfooter的前面

l         标注、编号和链接到上下文

    $('span.footnote').each(function(index){

        $(this)

            .before('<a href="#foot-note-' + (index+1) +

                    '" id="context-' + (index+1) +

                    '" class="context"><sup>' + (index+1) +

                    '</sup></a>')
    });

$('span.footnote').insertBefore('#footer');

遍历span.footnote,在各个元素前加标注后,在将span.footnote添加到#footer

l         插入脚注

$('<ol id="notes"></ol>').insertAfter('div.chapter');

$('span.footnote').each(function(index){

        $(this)

            .before('<a href="#foot-note-' + (index+1) +

                    '" id="context-' + (index+1) +

                    '" class="context"><sup>' + (index+1) +

                    '</sup></a>')

            .appendTo('#notes')

            .append('&nbsp;(<a href="#context-'+(index+1)+'">context</a>)');   

});

先创建一个ol元素notes,并添加到div.chapter后面,遍历span.footnote,先添加标注,然后通过appendTo其添加到ol末尾,最后又通过append添加一个锚元素。

4.     包装元素

.wrap()

.wrap('<li id="foot-note-' + (index+1) + '"></li>')

5.     复制元素

.clone()

$('div.chapter p:eq(0)').clone().insertBefore('div.chapter');

div.chapter中得第一段复制后插入在div.chapter前面

l         深度复制

$('div.chapter p:eq(0)').clone(false)

只复制结构,内部的文本没有复制过来,因为文本也是DOM节点

l         通过复制创建突出引用

var $parentParagraph = $(this).parent('p');

$parentParagraph.css('position','relative');

$(this).clone()

.addClass('pulled')

    .prependTo($parentParagraph);

l         修饰突出引用

$clonedCopy.addClass('pulled')

.find('span.drop')

    .html('&hellip;')

    .end()

    .prependTo($parentParagraph)

    .wrap('<div class="pulled-wrapper"></div>');

var clonedText = $clonedCopy.text();

$clonedCopy.html(clonedText);

 

分享到:
评论

相关推荐

    jQuery基础教程源码

    总之,"jQuery基础教程源码"是学习和巩固jQuery知识的重要资源,它提供了丰富的实例,帮助开发者从实践中学习,从而更好地掌握这一强大的JavaScript库。通过逐步解析和运行这些源代码,学习者将对jQuery有更全面、...

    jquery 教程 ajax 资料 txt 学习笔记

    根据给定文件的信息,我们可以提炼出一系列与 jQuery 相关的知识点。这些知识点涵盖了 jQuery 的基本用法、DOM 操作、CSS 样式调整...通过上述知识点的学习,你可以更高效地利用 jQuery 来构建现代化的 Web 应用程序。

    javascript and jquery学习笔记与资料

    这里,我们有针对这两个主题的学习笔记和参考资料,包括JavaScript培训、jQuery API、JavaScript基础、函数详解以及jQuery使用手册等内容。让我们逐一探讨这些知识点。 首先,`JavaScript培训.zip`可能包含的是对...

    jQuery官方基础教程笔记

    Rebecca Murphey的《jQuery基础教程》是一本优秀的入门教材,已被jQuery官方认可。通过深入学习和实践,开发者可以快速掌握jQuery的主要功能,即使不涉及Ajax和插件开发,也能在网页开发中游刃有余。

    jquery 入门到精通 学习总结 资源

    3. **jQuery学习笔记**:JQuery学习笔记.doc包含了作者在学习过程中的心得和实践案例,是理论与实际相结合的学习材料,有助于加深理解和记忆。 4. **jQuery技巧大放送**:jQuery技巧大放送.doc收录了一系列实用的...

    jquery学习笔记.rar

    总的来说,这份"jQuery学习笔记"是一份全面的教程资料,涵盖了从基础到进阶的所有重要知识点。通过系统学习,你可以理解jQuery的核心原理,掌握其高效的操作DOM、处理事件、实现动画和进行Ajax通信的方法,从而提升...

    jQuery 学习笔记 (直接打印是个好主意!)

    《jQuery基础教程》、《锋利jQuery》 王兴魁 《AJAX技术入门》 王兴魁 《绚丽效果教你做之jQuery实战》 温谦 《精通JavaScript+jQuery》 另外感谢在各大论坛知识分享的热心人! 本资源内容如下: 1、学习开发时的...

    各种编程学习笔记:Python, HTML, CSS, Javascript, Git, Linux, PHP.zip

    这篇压缩包文件“各种编程学习笔记:Python, HTML, CSS, Javascript, Git, Linux, PHP.zip”包含了多个关键编程语言和技术的学习资料,是初学者和进阶者宝贵的资源。接下来,我们将深入探讨这些主题,以便更好地理解...

    详细的jquery 教程

    jQuery基础 - **选择器**: jQuery的核心功能之一是选择页面中的元素。它支持CSS选择器,如ID(#id)、类(.class)和属性选择器,以及更复杂的组合选择器和伪类。 - **DOM操作**: 使用jQuery可以轻松地获取、添加...

    jQuery基础教程笔记适合js新手第1/2页

    这些是jQuery基础教程中的一些关键点,对于JS新手来说,理解和掌握这些概念将有助于更好地利用jQuery进行网页开发。通过实践和不断学习,你可以更熟练地运用jQuery来提升网页交互性和用户体验。

    Jquery学习笔记

    **jQuery学习笔记** jQuery,作为一个轻量级的JavaScript库,自2006年发布以来,因其简洁的API和强大的功能而深受开发者喜爱。它极大地简化了JavaScript的DOM操作、事件处理、动画制作以及Ajax交互,是前端开发的...

    圣思源的jquery学习笔记

    总的来说,圣思源张龙老师的jQuery学习笔记是一份全面而深入的教程,无论你是初学者还是有经验的开发者,都能从中受益匪浅,掌握jQuery的核心技术,为你的Web开发之路增添更多的可能性。通过学习和实践,你将能够更...

    JQuery教程-从零开始学习jQuery

    ### JQuery教程:从零开始学习JQuery #### 开天辟地入门篇 ##### 摘要 本篇文章作为系列教程的开端,旨在为初学者提供一个全面了解JQuery的起点。无论你是刚接触编程的新手还是已经有了一定前端经验的开发者,都...

    15天学会jquery_完整版_

    **第1天:jQuery基础知识** - **jQuery选择器**:学习如何使用ID选择器、类选择器、元素选择器等,以及更复杂的组合选择器和伪类选择器。 - **DOM操作**:了解如何使用jQuery选取元素、添加或删除元素,并进行属性...

    jquery 学习笔记源码 1-3章

    总结来说,《jQuery学习笔记源码1-3章》提供了从基础到实践的全面教程,通过学习和实践这些源码,你将能够熟练掌握jQuery的基本操作,如选择元素、处理事件和创建动画,为后续的Web开发工作打下坚实基础。...

    jquery学习资料

    - **jQuery官方文档**: 官方网站提供了详细的API文档和教程,是学习的基础。 - **JQuery API浏览器**: 在线工具,便于查询API和示例代码。 - **jQuery示例项目**: 通过实践项目,如创建响应式导航菜单、动态加载...

    jquery完全笔记 带目录 高清 经典前端js笔记 前端必看

    ### jQuery完全笔记知识点概述 #### 1. jQuery概述 jQuery是一个快速、小型且功能丰富的JavaScript库,它简化了HTML文档遍历、事件处理、动画和Ajax交互。通过使用jQuery,可以更方便地在网页中操作文档对象、选择...

    精通JQuery代码实践学习

    《精通jQuery代码实践学习》是一本旨在帮助开发者深入理解和熟练运用jQuery的教程。jQuery作为一款强大的JavaScript库,简化了HTML文档遍历、事件处理、动画设计和Ajax交互等多个方面的工作,使得JavaScript编程更为...

    jQuery编程笔记

    ### jQuery编程笔记知识点详解 #### 一、jQuery概述 ...以上是对jQuery编程笔记中提到的知识点的详细解读,覆盖了从基础知识到高级应用的各个方面,有助于深入理解和掌握jQuery的使用方法和技术细节。

Global site tag (gtag.js) - Google Analytics