jQuery基础之二

 

jQuery的中文文档十分详细,并且权威.
W3C的jQuery文档更加简单实用。


jQuery 1.9.0

jQuery中文文档
W3C的jQuery文档


jQuery操作DOM元素

元素本身

attr()
获得元素的某项属性,更改或添加元素的属性值
实例
var className= $("div").attr("class")
获得元素的类名 attr("property",'value1') 更改一项属性
attr({property1: 'value1',
property2: 'value2' }) 更改多项属性 css()
为元素添加或修改某项或多项属性
var className= $("div").css("propertyName")
css("propertyname","value") 更改一项属性
$("div").css({"background":"red","width":"100px"}) 多项属性
注意:
多项属性时之间要用","隔开
且与attr()的不同,设置多个属性时其类名也加上引号

addClass()
为元素添加新类名,来改变样式
$("div").addClass("red")
为div元素添加样式 注意:
为元素添加新样式时不取消原有样式。
addClass()的中类名不再加"."
一次添加多项样式时之间要用" "空格隔开
removeClass()
反 addClass() removeAttr()
反 css(),无需加属性值 clone()
复制元素整体
$(selector).clone() 实例
var a=$("#div1").clone()
将id为div1的元素赋值给变量a

包裹元素和内容

wrap()
用于包裹元素本身
$(selector).wrap(wrapper)
实例
$("#div1").wrap("<div></div>")
id为div1的元素整体被div标签包裹 wrapInner()
实例
$("#div1").wrapInner("<div id="div2"></div>")
id为div1的元素的所有子元素被div2包裹,而div2又被div1包裹

元素的子元素

append(content)
向指定的元素中追加内容,被追加的content参数,
可以是字符 HTML元素标记还可以是字符串的标记 默认在该元素的子元素的最后面 实例
js:
$html="<p class="green">asdawdasdwadsawdsa</p>"
$("div").append($html) 相当于在div元素内部又加入p标签 appendTo()
用法
$(content).appendTo(selector)
实例
js:
$html="<p class="green">asdawdasdwadsawdsa</p>"
$($html).appendTo("div") 将p标签加入到div标签的末尾处

remove()
删除所选元素本身和子元素
实例
<span class="green">asd</span>
<span class="red">asd</span>
js:
$("span").remove(".red")
删除span标签中类名为red的元素,此时该span标签不再存在 empty()
删除元素的所有子元素
实例
<span class="green">asd</span>
js:
$("span").empty()
知识删除了asd文本节点span标签依然存在

层级之内

before()和 after()
在元素的前后插入内容 $(selector).before(content)
$(selector).after(content)

替换内容

replaceWith() 和 replaceAll()
格式
$(selector).replaceWith(content) $(content).replaceAll(selector)
实例
$("#div1").replaceWith("<p>asdwsadaw</p>")
把id为#div1的整个元素换为p标签

遍历元素

each()
格式:$(selector).each(function(index)) 实例:
<span class="green1"></span>
<span class="green2"></span>
<span class="green3"></span>
<span class="green4"></span> js: $("span").each(function(){
if(index==2){
$(this).addClass("red")
}
})) 为类为 green4的span元素添加red样式 注意
this的使用$(this)此时不加双引号

jQuery事件与应用

jQuery并没有创建太多新的事件,而是为绑定事件时提供了方便。

注意:这里得事件名称没有'on',绑定鼠标点击事件时只需click即可

新事件

ready事件

    ready事件类似于onLoad事件,但前者只要页面的DOM结构
加载后便触发,而后者必须在页面全部元素加载成功才触发,
ready()可以写多个,按顺序执行。
注意:
$(document).ready(function(){})等价于$(function(){}); focus和blur事件 文本框的focus和blur事件
focus事件:当点击文本框时,触发该事件
blur事件:当文本框失去焦点时,触发该事件 change 事件 当一个元素的值(value)发生改变时,将触发该事件
实例:
当改变下拉列表框的opnion时,将触发该事件

绑定事件的方法

bind() 方法

    通过bind()方法可以为获得的DOM对象绑定任意的事件

    $(selector).bind(event,[data],function)

    实例
$("#btntest").bind("click mouseout",function(){
$(this).attr("value","OK")
})
当鼠标点击id为btntest的按钮时改变其值为OK 注意:
事件要加引号
多个事件一起绑定时当中空格隔开

绑定事件新方法

one() 方法

    $(selector).one(event,func)

    可以绑定任何有效的事件,但该事件函数只会触发一次

hover() 方法

    $(selector).hover(function1,function2)

    当鼠标移到所选元素上时,执行的function1,鼠标移出时执行function2

toggle() 方法

    $(seleector).toggle(func1,func2,func3,funcN)

    当第一次点击元素对象时执行func1,第二次点击元素对象时执行func2..
当执行完最后一个函数时,再次点击将返回执行的第一个函数

卸载绑定事件方法

unbind() 方法

    可以移除元素已经绑定的事件

    $(selector).unbind(event[,fun])

    注意:
若fun没有指定将移除所有的触发函数

模拟事件的触发

trigger() 方法

    该方法可以直接触发元素指定的事件

    $(selector).trigger(event)

    实例
$("#form1 input:submit").trigger("click") 当执行该语句是相当于点击提交按钮,表单元素将被提交

精彩集锦

1.this指针的使用
$("span").each(function(){
if(index==2){$(this).addClass("red")}})
2.易错点睛
var speed=‘24px’ 或var speed=24
不可以 var speed=24px
相关标签:JavaScript
 
 

记录一下依稀记得的。来自《锋利的jQuery》第二章的总结

第一类:基本选择器(最常见的选择器)
①$("#id") ②$(".classname") ③ $("element") ④$("selector1,selector2,……,selectorN")

第二类:层次选择器
①$("ancestor descendant") 后代选择器 ② $("parent>child") 子代选择器
③$("prev+next") 紧接在prev后的next元素
④ $("prev~siblings") prev后的所有siblings元素

第三类:过滤选择器
①基本过滤选择器
②内容过滤选择器
③可见性过滤选择器
④属性过滤选择器
⑤子元素过滤选择器
⑥表单对象过滤选择器

Ps:私以为过滤选择器分类太细,应总结常用的几个过滤选择器,方便记忆。

第四类:表单选择器

$(":input")、$(":text")、$(":password")、$(":radio")、$(":image")
$(":checkbox")、$("submit")、$(":reset")、$(":button")、$(":file")
Ps:还是觉得表单选择器也挺细的,不知道常用的是哪几个

书中有段话:jQuery选择器的写法与CSS选择器的写法十分类似,只不过两者的作用效果不同,css选择器找到元素后是添加样式,而jQuery选择器找到样式后是添加行为。

作者: 慕粉1464062117 
链接:http://www.imooc.com/article/16236
来源:慕课网

jQuery基础之二的更多相关文章

  1. jQuery基础学习(二)—jQuery选择器

    一.jQuery基本选择器 1.CSS选择器     在学习jQuery选择器之前,先介绍一下之前学过的CSS选择器. 选择器 语法 描述 示例   标签选择器 E {                 ...

  2. jQuery基础(二)DOM

    DOM节点的创建 jQuery节点创建与属性的处理 创建元素节点: $("<div></div>") 创建为文本节点: $("<div> ...

  3. jQuery基础之二(操作标签)

    一:样式操作 addClass();// 添加指定的CSS类名. removeClass();// 移除指定的CSS类名. hasClass();// 判断样式存不存在 toggleClass();/ ...

  4. jquery基础 笔记二

    动态创建元素 关于使用HTML DOM创建元素本文不做详细介绍, 下面举一个简单的例子: //使用Dom标准创建元素 var select = document.createElement(" ...

  5. jQuery基础---Ajax基础教程(二)

    jQuery基础---Ajax进阶 内容提纲: 1.加载请求 2.错误处理 3.请求全局事件 4.JSON 和 JSONP 5.jqXHR 对象 发文不易,转载请注明出处! 在 Ajax 基础一篇中, ...

  6. Bootstrap <基础十二>下拉菜单(Dropdowns)

    Bootstrap 下拉菜单.下拉菜单是可切换的,是以列表格式显示链接的上下文菜单.这可以通过与 下拉菜单(Dropdown) JavaScript 插件 的互动来实现. 如需使用下列菜单,只需要在 ...

  7. RequireJS基础(二)

    上一篇是把整个jQuery库作为一个模块.这篇来写一个自己的模块:选择器. 为演示方便这里仅实现常用的三种选择器id,className,attribute. RequireJS使用define来定义 ...

  8. jquery基础知识汇总

    jquery基础知识汇总 一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQu ...

  9. jQuery基础与实例

    一.简介 1.什么是jQuery jQuery是一个轻量级.快速简洁的javaScript库,能让我们方便快捷的选择元素操作元素属性. 2.下载地址 3.jQuery使用方式 $("div& ...

随机推荐

  1. Java数据库连接池详解

    http://www.javaweb1024.com/java/JavaWebzhongji/2015/06/01/736.html 对于共享资源,有一个很著名的设计模式:资源池(Resource P ...

  2. docker开发实践

    一:docker的定义和使用场景: Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VM ...

  3. 设计模式-builder(构造器模式)

    好处: 多个属性时,可以清楚明了知道属性, 重叠构造起器的安全性和JavaBeans模式的可读性 只需要制定需要建造的类型就可以得到他们 实例: public class NutritionFacts ...

  4. JAVAEE第三周

    2.背景:看到Session时,感到很熟悉,毕竟涉及到过类似的编程,用得最多的地点就是保存客户端的信息和记录,比如说你已经登陆过某个网站,下次访问时不想要麻烦的重新登陆你就就可以使用这个机制.Sess ...

  5. AnnotationTransactionAttributeSource is only available on Java 1.5 and higher

    前言: 在eclipse中用到spring2.0的web项目,启动elipse自带的tomcat7,tomcat7报错如下: AnnotationTransactionAttributeSource ...

  6. Java多线程之线程状态总结

    概述 线程大家肯定不陌生,对于线程中的运行状态,自己经常搞混淆,这边按照下图记录下: 线程一般来说有如下几种状态: 新建,可运行,超时阻塞,等待阻塞,同步阻塞,死亡 yeild:当线程执行了yield ...

  7. 所有不同的序列串-----LCS算法的变种

    今天遇到LEETCODE的第115题: Distinct Subsequences Given a string S and a string T, count the number of disti ...

  8. P5016 龙虎斗 题解

    这题真是*到家了QAQ 我在考场上调了将近75min,总算过了大样例. 首先,我们可以简化这一题,这道题的本质就是让我们找出一个点p2,往那个点上面加上s2个单位的重量,使得以m为中的两边的权值和的差 ...

  9. ssh整合报错严重: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxx'

    错误描述:eclipse整合ssh的时候 报不能创建名字为xxx的对象 信息: Destroying singletons in org.springframework.beans.factory.s ...

  10. Python——字符串、文件操作,英文词频统计预处理

    一.字符串操作: 解析身份证号:生日.性别.出生地等. 凯撒密码编码与解码 网址观察与批量生成 2.凯撒密码编码与解码 凯撒加密法的替换方法是通过排列明文和密文字母表,密文字母表示通过将明文字母表向左 ...