jquery的基本使用

简介: 方法连缀:$('p').removeClass('classFoo').addClass('classBar');方法迭代:可以使用each方便对元素列表进行循环操作$('li').

方法连缀:
$('p').removeClass('classFoo').addClass('classBar');

方法迭代:
可以使用each方便对元素列表进行循环操作
$('li').each(function(i){
    alert( typeof this);
});

css选择器:
$('*')  选择所有元素
$('tag') 选择所有html标签中的tag元素
$('tagA tagB')选择作为tagA后代的所有tagB元素
$('tagA,tagB,tagC')选择所有tagA元素,tagB元素,tagC元素
$('#id')和$('tag#id')选择所有ID为id或者ID为id且标签为tag的元素
$('.className')是clas为className的元素

tagA tagB是更具体的后代元素
tagAtagB是同时满足条件

$('tag[attr]')  选择所有带有attr属性的tag元素

也可以使用一些伪类和伪元素选择器 基于在他们在文档中的文职而不必通过类名或者ID而找到任意一个特定的元素

选择文章中nav元素包含的所有链接  用DOM比较麻烦
但使用选择器用法可以缩短为很少的字符 
var links=$('article nav a');
这样代码不仅清晰 而且容易看懂

库提供还有专有的选择器
比如 选择偶数和奇数元素       even是偶数
$('tr:odd').addClass("odd");  奇数

$('tag:odd')   选择匹配元素集中的奇数元素
$('tag:even')     偶数个个数 特别时候突出表格行
$('tag:eq(0)') 和$('tag:nth(0)')选择匹配元素集中的第n个元素 如页面的第一个段落
$('tag:contains('test')')   包涵指定文本的所有元素
$('tag:gt(n)')选择匹配元素集中所有大于n的所有元素
$('tag:lt(n)')选择匹配元素集中所有小于n的所有元素
$('tag:first') 等效于eq(0);
$('tag:last') 选择匹配元素集中的最后一个元素
$('tag:parent') 选择匹配元素集中包涵子元素的所有元素
$('tag:visible')   所有可见元素
$('tag:hidden')   所有隐藏的元素

举例:修改页面第一个段落的字体粗细
$("p:first").css("font-weight","bold");
显示素有隐藏的div元素
$("div:hidden").show();
隐藏所有包涵单词  scared的div元素
$("div:contains('scared')").hide();


jQuery还提供了专门为表单设计的表达式 用于快速访问表单元素
:input   选择表单中所有的元素 (input select textarea button)
:text    type=“text”
:password  type="password"
:radio     type="radio"
:checkbox  type="checkbox"
:submit    type="submit"
:image     type="image"
:reset     type="reset"
:button    type="button"


生成内容 :
用jQuery创建新的DOM元素很简单   把HTML作为$函数的参数传入 可创建新的节点   下面是给body元素添加一个新的div的元素 新的div元素有一个值为example的id 并且包涵“hello”
$('<div id="example">Hello</div>').appendTo(document.body);

使用jQuery模板插件可以在html字符串中声明一些特殊的变量如  ${term} 这些变量随后可以被替换成一组数组或者其他模板

操作内容 
比如  appendTo或者insertAfter
把一个列表的所有元素全部转移到另一个列表
$('ul#list1 li').appendTo("ul#list2");

如果是复制过去则这样:
$('ul#list1 li').clone().appendTo("ul#list2");


加载事件:
1.function xx(){

}
$(xx);
也可以:
$(function(){

})
2.$(document).ready(function(){
})

还有很多特定于元素的事件  例如focus。click等等
举例:  批量注册事件
$('a').click(function(event){
window.open(this.getAttribute('href'));
return false;
})

就算没有用户交互 也可以调用相应的方法触发:
$('a:first').click();

举例:blur和focus
$(function(){
    $('form input[placeholder]').focus(function(){
    var input=$(this);
    if(input.val()==input.attr('placeholder')){
        input.val('').removeClass('placeholder');
    }
    }).blur(function(){
        var input=$(this);
        if(input.val==''){
            input.val(input.attr('placeholder')).addClass('placeholder');
        }
    }).blur();
})

基于css属性的动画:
原来的:
var links=list.getElementsByTagName("a");
links[0].onmousever=function(){
    moveElement("preview",-100,0,10);
}
links[0].onmousever=function(){
    moveElement("preview",-200,0,10);
}
links[1].onmousever=function(){
    moveElement("preview",-200,0,10);
}

修改后:
$('a').each(function(i){
    var preview=$('#preview');
    var final_x=i*-100;
    $(this).onmousever(function(){
        preview.animate({left:final_x},10);
    })
})

还有很多jquery UI套件和jquery缓动插件
也还有很多组合动画
目录
相关文章
|
5月前
|
存储 JavaScript 前端开发
jQuery的基本使用
jQuery的基本使用
55 0
|
6月前
|
JavaScript 前端开发
jQuery介绍及基本使用
jQuery介绍及基本使用
357 0
|
XML 存储 移动开发
前端培训-中级阶段(5)- jQuery 的概念与基本使用(2019-7-11期)
前端最基础的就是 HTML+CSS+Javascript。掌握了这三门技术就算入门,但也仅仅是入门,现在前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS),本着提升技术水平,打牢基础知识的中心思想,我们开课啦(每周四)。 前面我们已经基本掌握常规的语法语义,以及基本的使用方法。接下来我们讲深入进去了解其中内在的原理。 也了解 DOM、BOM,但是因为规范是一在变的,有没有什么类库可以方便操作这些呢?进入我们今天的主题jQuery
112 0
前端培训-中级阶段(5)- jQuery 的概念与基本使用(2019-7-11期)
|
6月前
|
JavaScript
Jquery插件知识之Jquery.cookie实现页面传值
Jquery插件知识之Jquery.cookie实现页面传值
36 0
|
7月前
|
JavaScript
jQuery 插件自用列表
jQuery 插件自用列表
29 0
|
3月前
|
JavaScript
jQuery图片延迟加载插件jQuery.lazyload
jQuery图片延迟加载插件jQuery.lazyload
|
3月前
|
JavaScript 数据可视化 前端开发
jQuery-JS插件-第9次课-使用插件让领导对你刮目相看-附案例作业
jQuery-JS插件-第9次课-使用插件让领导对你刮目相看-附案例作业
19 0
|
3月前
|
JavaScript 前端开发
开发jQuery插件这些就够了
开发jQuery插件这些就够了
26 0
|
8月前
|
JavaScript
jQuery编写插件的两种方法
jQuery编写插件的两种方法
57 0
|
4月前
|
JavaScript 前端开发 安全
jQuery 第十一章(表单验证插件推荐)
jQuery 第十一章(表单验证插件推荐)
54 1