博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery学习笔记
阅读量:5064 次
发布时间:2019-06-12

本文共 4517 字,大约阅读时间需要 15 分钟。

区分DOM对象和jQuery对象:

DOM对象:可以通过getElementsByTagName或者getElementById获得元素节点,这样得到的DOM元素就是DOM对象。可以使用JavaScript方法:

var domObj = document.getElementById("id");//获取DOM对象var objHTML = domObj.innerHTML;

jQuery对象是通过jQuery包装DOM对象后的对象,这个对象可以调用jQuery的方法。

$("#foo").html();//等价于document.getElementById("foo);
$("#foo")与document.getElementById("foo);获得的饿对象并不相同。前者获得的是jQuery对象,后者获得的是DOM对象。 将jQuery对象转换为DOM对象:[index]或get(index)
var $cr = $("#cr");//jQuery对象var cr = $cr[0];//DOM对象var crr = $cr.get(0);//DOM对象
将DOM对象转换为jQuery对象:使用$()将DOM对象包起来。
var cr = document.getElementById("cr");var $cr = $(cr);//将DOM对象转换成jQuery对象

示例:必须选中checkbox才能提交的功能:

DOM判断:cr.checked判断是否被选中

$(function(){  var $cr = $("#cr");  var cr = $cr[0];  $cr.click(function(){    if(cr.checked){      alret("OK!");    }  });});

jQuery判断:is(":checked")

$(function(){  var $cr = $("#cr");  $cr.click(function(){    if($cr.is(":checked"){      alret("OK!");    }  });});

 

避免命名冲突:
jQuery.noConflict();//交出$控制权(function($){  $(function(){    $("p").click(funciton(){      //...    });  });})(jQuery);$("pp").style.display = "none";

$();获得的永远是jQuery对象,因此不能如下:

if($("#id"){
//这里的条件是个对象,不能判断//...}

可以如下改动:判断对象的长度,也可以转换成DOM对象来判断

if($("#id").length > 0){
//判断对象长度//...}if($("#id")[0]){
//转换成DOM对象//...}

 

选择器:

基本选择器:

$("#test")//id选择器$(".test") //class选择器$("p")//元素名称选择器$("*")//选择所有元素$("div,span,p.myClass")//选取这些元素的集合

层次选择器:通过DOM元素的层次关系获得特定元素,如后代元素、子元素、相邻元素和兄弟元素等。

$("div span")//选取div里的所有元素  中间空格,后代元素$("div > span")//选取div里的子元素,与后代元素的区别要注意$(".one + div")//选取class为one的下一个
元素 只选取one后面的一个,可以用next()来代替$(".one").next("div");$("#two~div")//选取id为two的元素后面的所有
兄弟元素,可以用nextAll来代替$(".two").nextAll("div");

过滤选择器:

1.基本过滤选择器

选择器 描述 示例
:first 选取第一个元素 $("div:first")选取所有<div>元素的第一个<div>元素
:last 选取最后一个元素 $("div:last")选取所有<div>元素的最后个<div>元素
:not(selector) 去除所有与给定浏览器匹配的元素 $("input:not(.myClass)")选取class不是myClass的<input>元素
:even 选取是偶数的所有元素,从0开始 $("input:even")
:odd 选取是奇数的所有元素,从0开始 $("input:odd")
:eq(index) 选取索引等于index的元素(index从0开始)  
:gt(index) 大于  
:lt(index) 小于  
:header     选取所有的标题元素  
:animated 选取当前正在执行动画的所有元素  

 

 2.内容过滤选择器:

:contains(text) 选取含有文本内容“text”的元素 $("div:contains("me"))选取含有文本me的<div>元素
:empty 选取不包含子元素或者文本为空的元素  
:has(selector) 选取含有选择器所匹配的元素的元素 $("div:has(p)")选取含<p>元素的<div>
:parent 选取含子元素或者文本的元素 $("div:parent")选取拥有子元素的<div>

 3.可见性过滤选择器

:hidden 选取所有不可见的元素 选取不可见元素,包括<input type="hidden"/>,<div style="display:none;">和<div style="visibility:hidden;">
:visible 选取所有可见的元素 $("div:visible")选取所有可见的<div>元素

4.属性过滤选择器:通过元素的属性来获取相应的元素

[attribute] 选取拥有此属性的元素 $("div[id]")选取所有拥有id的<div>
[attribute=value] 选取所有属性值为value的元素 $("div[title=test]")选取所有title为test的<div>
[attribute=!value] 选取所有属性值不等于value的元素  
[attribute=^value] 以value开始  
[attribute=$value] 以value结束  
[attribute=*value] 含有value  
[][][] 合并这些条件  

5.子元素过滤器:

 

6.表单对象属性过滤选择器:对表单元素进行过滤

:enabled 选取所有可用的元素  
:disabled 选取所有不可用的元素  
:checked 选取所有被选中的元素(单选,复选) $("input:checked")选取所有被选中的<input>元素
:selected 选取所有被选中的选项元素(下拉列表) $("select :selected")选取所有被选中的选项元素

7.表单选择器: 

:input 选取所有<input><textarea><select><button>  
:text 选取所有的单行文本框  
:password    
:radio    
:checkbox    
:submit    
:image    
:reset    
:button    
:file    
:hidden    

 

 

选择器中的特殊字符转义:

test
test

js:

$("$id\\#b");//转义$("$id\\[1\\]");

空格对选择器的影响:

var $t_a = $(".test   :hidden");//class为test的隐藏元素var $t_a = $(".test:hidden");//隐藏的class为test的元素

 

DOM分类:

1.DOM Core

  getElementById()、getElementByTagName()、getAttribute()、setAttribute()等。

2.HTML-DOM

docuemnt.forms;//froms对象,获取表单对象的方法element.src; //获取src属性

3.CSS_DOM

element.style.color = "red";

 

 

插入节点的方法:

  append():向每个匹配元素的内部追加元素,内部

  $(A).appendTo(B):将匹配的元素A追加到B,内部

  prepend():追加内容在匹配元素的最前面。内部

  $(A).prependTo(B):将匹配的元素A追加到B元素中,在B元素的最前面。内部

 

  after():在每个匹配的元素之后插入内容。$(A).after(B),B放入A后面, 外部

  $(A).insertAfter(B):将A放入到B的后面,外部

  before():插入到指定匹配元素的前面,外部

  $(A).insertBefore(B):将A插入到B的前面

删除节点的方法:

  remove():删除节点

  empty():清空节点

 

复制元素:clone()

$("ul li").click(function(){  $(this).clone().appendTo("ul");//赋值当前单击的节点追加到ul中})

深度复制:此时复制的节点也有了被复制元素绑定的事件,同样可以复制了。

$("ul li").click(function(){  $(this).clone(true).appendTo("ul");//赋值当前单击的节点追加到ul中})

 

替换节点:replaceWith()  replaceAll()方法功能相同,方向颠倒。

$("p").replcaeWith("free");用后面的free替换所有p
$("free").replcaeWith("

");用后面的free替换所有p

 

包裹节点:wrap()  wrapAll()  wrapInner()

  $(A).wrap(B):用B分别包裹每一个A元素。

  $(A).wrapAll(B):用一个B包A的全部包裹。

  $(A).wrapInner(B):用B包裹A的子内容。

  

this.defaultValue:当前文本框的默认值

 

遍历元素:

  children():只找出子元素,而不考虑后辈元素。

  next():匹配元素后面紧邻的同辈元素。

  prev():匹配元素前面紧邻的同辈元素。

  siblings():匹配元素前后所有的同辈元素。

 

 

 

 

转载于:https://www.cnblogs.com/colorstory/archive/2013/04/11/2648651.html

你可能感兴趣的文章
less入门
查看>>
如何实现手游app瘦身?
查看>>
linux程序设计---序
查看>>
OpenGL 笔记<1> 固定管线实例 + 双缓存测试实例
查看>>
【字符串入门专题1】hdu3613 【一个悲伤的exkmp】
查看>>
C# Linq获取两个List或数组的差集交集
查看>>
21.Longest Palindromic Substring(最长回文子串)
查看>>
HDU 4635 Strongly connected
查看>>
循环队列_数组实现
查看>>
Redis-RDB持久化设置
查看>>
operator new,new operator,placement new的区别
查看>>
webbench
查看>>
$.cookie is not a function
查看>>
HTTP与HttpServlet
查看>>
ajax 上传读取excel
查看>>
学习之模块架构 DotNetNuke 6
查看>>
GIS+=地理信息+容器技术(4)——Docker执行
查看>>
js跨域解决方式
查看>>
java对象是如何创建的
查看>>
7-1 抓老鼠啊~亏了还是赚了? (20 分)
查看>>