jQuery中的节点操作

jQuery中的节点操作

1.查找节点

通过jQuery选择器来完成

jQuery 选择器允许对 HTML 元素组或单个元素进行操作。

jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。

jQuery 中所有选择器都以美元符号开头:$()

  • 基本选择器
$("#test")       //选择id值为test的元素,id值是唯一的所以返回单个元素。
$("div")         //选择所有的div标签元素,返回div元素数组 
$(".myclass")    //选择使用myclass类的css的所有元素 
$("*")           //选取所有元素
$("#test,div,.myclass")  //选取多个元素。
  • 层次选择器
$("div span")       //选取<div>里的所有<span>元素
$("div >span")      //选取<div>元素下元素名是<span>的子元素
$("#one +div")      //选取id为one的元素的下一个<div>同辈元素        等同于$("#one").next("div")
$("#one~div")       //选取id为one的元素的元素后面的所有<div>同辈元素    等同于$("#one").nextAll("div")
$("#one").siblings("div")       //获取id为one的元素的所有<div>同辈元素(不管前后)
$("#one").prev("div")       //获取id为one的元素的前面紧邻的同辈<div>元素

所以获取元素范围大小顺序依次为:
$("#one").siblings("div")>$("#one~div")>$("#one +div")  
或是
$("#one").siblings("div")>$("#one").nextAll("div")>$("#one").next("div")

一些其他选择器:

  • 基本过滤选择器
$("div:first")                  //选取所有<div>元素中第1个<div>元素
$("div:last")                   //选取所有<div>元素中最后一个<div>元素
$("input:not(.myClass)")       //选取class不是myClass的<input>元素 
$("input:even")                 //选取索引是偶数的<input>元素(索引从0开始) 
$("input:odd")                  //选取索引是基数的<input>元素(索引从0开始) 
$("input:eq(2)")                //选取索引等于2的<input>元素 
$("input:gt(4)")                //选取索引大于4的<input>元素
$("input:lt(4)")                //选取索引小于4的<input>元素
$(":header")                    //过滤掉所有标题元素,例如:h1、h2、h3等
$("div:animated")               //选取正在执行动画的<div>元素  
$(":focus")                     //选取当前获取焦点的元素
  • 内容过滤选择器
$("div:contains('Name')")       //选取所有<div>中含有'Name'文本的元素 
$("div:empty")                  //选取不包含子元素(包括文本元素)的<div>空元素 
$("div:has(p)")                 //选取所有含有<p>元素的<div>元素 
$("div:parent")                 //选取拥有子元素的(包括文本元素)<div>元素
  • 可见性过滤选择器
$("div:hidden")                 //选取所有不可见的<div>元素 
$("div:visible")                //选取所有可见的<div>元素
  • 属性过滤选择器
$("div[id]")                 //选取所有拥有属性id的元素
$("input[name='test']")       //选取所有的name属性等于'test'的<input>元素 
$("input[name!='test']")     //选取所有的name属性不等于'test'的<input>元素 
$("input[name^='news']")        //选取所有的name属性以'news'开头的<input>元素 
$("input[name$='news']")        //选取所有的name属性以'news'结尾的<input>元素 
$("input[name*='news']")        //选取所有的name属性包含'news'的<input>元素 
$("div[title|='en']")           //选取属性title等于'en'或以'en'为前缀(该字符串后跟一个连字符'-')的<div>元素
$("div[title~='en']")           //选取属性title用空格分隔的值中包含字符en的<div>元素
$("div[id][title$='test']")     //选取拥有属性id,并且属性title以'test'结束的<div>元素
  • 子元素过滤选择器
$("div .one:nth-child(2)")       //选取class为'one'的<div>父元素下的第2个子元素
$("div span:first-child")        //选取每个<div>中的第1个<span>元素 
$("div span:last-child")         //选取每个<div>中的最后一个<span>元素 
$("div button:only-child")       //在<div>中选取是唯一子元素的<button>元素
  • 表单对象属性过滤选择器
$("#form1 :enabled")             //选取id为'form1'的表单内所有可用元素
$("#form2 :disabled")            //选取id为'form2'的表单内所有不可用元素 
$("input :checked")              //选取所有被选中的<input>元素   
$("select option:selected")      //选取所有的select 的子元素中被选中的元素
  • 表单选择器
$(":input")                      //选取所有<input>,<textarea>,<select> 和 <button>元素 
$(":text")                      //选取所有的单行文本框
$(":password")                   //选取所有的密码框 
$(":radio")                      //选取所有单的选框 
$(":checkbox")                   //选取所有的多选框 
$(":submit")                    //选取所有的提交按钮
$(":image")                      //选取所有的图像按钮 
$(":reset")                      //选取所有的重置按钮
$(":button")                     //选取所有的按钮 
$(":file")                       //选取所有的上传域
$(":hidden")                     //选取所有不可见元素

2. 创建节点

例:创建三个<span>标签

var span1 = $("<span></span>");
var span2 = $("<span>具有文本内容的节点</span>");
var span3 = $("<span title='属性节点'></span>");

3.插入节点

  // $A.append(B)  将B追加到A的末尾处,作为它的最后一个子元素
       
  // $A.appendTo(B)  将A追加到B的末尾,作为它的最后一个子元素
       
  // prepend() 
       $A.prependTo(B)
            //将A追加到B的前面,作为它的第一个子元素
       $A.after(B)
            //在A之后追加B,作为它的兄弟元素
       $A.insertAfter(B)
            //在B之后追加A,作为它的兄弟元素
       $A.before(B)
            //在A之前追加B,作为它的兄弟元素
       $A.insertBefore(B)
             //在B之前追加A,作为它的兄弟元素

4.删除节点

   remove([selector])
       //从DOM中删除所有匹配的元素,返回值是一个指向已经被删除的节点的引用,可以在以后再使用这些元素。
       //该方法会移除元素,同时也会移除元素内部的一切,包括绑定的事件及与该元素相关的jQuery数据。
   detach([selector])
       //与remove()类似,但是detach()保存所有jQuery数据和被移走的元素的相关联事件。
   empty()
       //无参数。从DOM中清空集合中匹配元素的所有的子节点。

5.复制节点

 $("#id").clone(false);
  //该方法返回的是一个节点的引用,参数默认为false,为浅复制;
  //参数是true,为深复制,含义是:复制元素的同时复制元素中所绑定的事件。

6.替换节点

   replaceWith(newContent);
        //用新内容替换集合中所有匹配的元素,并且返回被删除的元素的集合。
        //该方法会删除与节点相关联的所有数据和事件处理程序。
   replaceAll(target);
        //用集合的匹配元素替换每个目标元素。颠倒了replaceWith()操作效果。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,837评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,551评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,417评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,448评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,524评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,554评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,569评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,316评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,766评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,077评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,240评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,912评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,560评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,176评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,425评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,114评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,114评论 2 352

推荐阅读更多精彩内容