jquery+DOM操作

1.JQ是一個(gè)輕量級(jí)的原聲js庫(kù) 目前最高版本 3.X 最低支持到 IE9

優(yōu)點(diǎn):
1. 強(qiáng)大的選擇器 總是能得到一個(gè)集合
2. 對(duì)DOM的處理非常簡(jiǎn)單方便
3. 兼容強(qiáng)大 自身就已經(jīng)做完了基本的兼容處理
4. 鏈?zhǔn)讲僮? 所用的JQ方法 都可以通過 "." 來不斷調(diào)用
5. 強(qiáng)大的 AJAX 封裝庫(kù)

2.JQ 選擇器

選擇標(biāo)簽:
如果這個(gè)同類名標(biāo)簽 只有一個(gè) 直接用就行

  $('.box')  
  $('.box').css();

如果需要精準(zhǔn)的操作某一個(gè)標(biāo)簽 需要用到

.eq()  $('.box').eq(0).css()

(1) :first 選中第一個(gè)子集 只選擇一個(gè)

    $('.box div:first')
    $('.box .item:first')

(2) :last 選擇最后一個(gè)子集

    $('.box div:last')
    $('.box .item:last')

(3) :even 偶數(shù)下標(biāo) 下標(biāo)從0開始

    $('.box .item:even')

(4) :odd 奇數(shù)下標(biāo)

    $('.box .item:odd')

(5) :eq 指定下標(biāo)

    $('.box .item:eq(0)')
    $('.box .item').eq(0);

(6) :gt(index) 指定以上標(biāo)簽被選中 >index 下標(biāo)的元素

    $('.box .item:gt(3)')

(7) :lt(index) 指定以下標(biāo)簽被選中 <index 下標(biāo)的元素

    $('.box .item:lt(3)')

內(nèi)容過濾:
(8) :contains(文本內(nèi)容) 選擇包含目標(biāo)文本內(nèi)容的標(biāo)簽

    $('.box1 .item:contains(666)')

(9) :empty 選中內(nèi)容為空的標(biāo)簽

    $('.box .item:empty')

(10) :parent 選中非空標(biāo)簽

    $('.box .item:parent')

(11) :has() 選擇包含了 對(duì)應(yīng)子集的標(biāo)簽

    $('.box .item:has(p)') //item 內(nèi) 有 p 標(biāo)簽
3.用JQ獲取class 時(shí) 是一個(gè)集合 不止有一個(gè)元素

\color{orange}{注意:} 所以 點(diǎn)擊方法內(nèi) 如果需要操控元素本身 最好使用$(this);

給盒子 添加 class

  $(this).addClass('on');

刪除 class

  $(this).removeClass('on');

切換 class

  $(this).toggleClass('on');
4.獲取盒子的尺寸值
$('.box').width() 內(nèi)容區(qū)域?qū)挾?/th>
$('.box').height() 內(nèi)容區(qū)域高度
$('.box').innerWidth() clientWidth 內(nèi)容+padding
$('.box').innerHeight() clientHeight
$('.box').outerWidth() offsetWidth 內(nèi)容 + padding + border
$('.box').outerWidth(true) 內(nèi)容 + padding + border + margin
$('.box').outerHeight() offsetHeight
$('.box').offset().left 盒子左邊 到 瀏覽器視窗左邊 之間的距離
$('.box').offset().top 盒子上邊 到 瀏覽器視窗上邊 之間的距離
$('.box').position().left 到 定位 父級(jí) 左邊 之間的距離 如果父級(jí)沒定位 則以 body為基準(zhǔn)
$('.box').position().top 到 定位 父級(jí) 上邊 之間的距離
5.JQ 動(dòng)畫
 $('.box').animate(參數(shù)1,參數(shù)2,參數(shù)3)

        參數(shù)1 css樣式 對(duì)象的形式  鍵值對(duì)
        參數(shù)2 時(shí)間(ms)
        參數(shù)3 callback 回調(diào)函數(shù)  動(dòng)畫結(jié)束后調(diào)用
常用動(dòng)畫:

callback 回調(diào)函數(shù)

淡入 fadeIn(時(shí)間,callback); callback 可以省略
淡出 fadeOut()
淡入淡出切換 fadeToggle()
向下打開 slideDown()
向上收起 slideUp()
切換打開狀態(tài) slideToggle()
動(dòng)畫停止 stop();

動(dòng)畫執(zhí)行順序的控制:

    $('.box').fadeIn(500).delay(500).slideUp();

6.DOM操作(增刪改查)

增:

1. 創(chuàng)建DOM: $(tagString)

 var $h = $('<h1 class="title"> jQuery 創(chuàng)建DOM </h1>');
 console.log($h);

2. 添加

(1) A.append(B),將B追加到A的末尾,方法返回A自身

   $('body').append($h);

(2) B.appendTo(A)融虽,將B追加到A的末尾,方法返回B自身

   $h.appendTo($('body'));
   console.log($h.appendTo('body'));

(3) A.prepend(B)舞终,將B添加到A的首位
(4) B.prependTo(A),將B添加到A的首位
(5) A.after(B)癣猾,在A的后面插入B敛劝,返回A

  console.log($('li:eq(2)').after($('<li>6</li>')));

(6) A.before(B),在A的前面插入B纷宇,返回A

  console.log($('li:eq(3)').before($('<li>7</li>')));

刪除:

(1) A.remove()夸盟,將A從它的父元素中刪除,返回A

  console.log($('li:eq(2)').remove());

(2) A.empty()像捶,將A的內(nèi)容置空上陕,返回A

  $('ul').empty().append($('<li>10</li>').css('color','red'));
  console.log($('ul').empty());

修改:

A.replaceAll(B)桩砰, 用A替換B,B必須是文檔中已經(jīng)存在的元素释簿,返回A

 console.log($('<li>10</li>').replaceAll($('li:eq(2)')));

克隆:

A.clone()亚隅,克隆A,只有深克隆庶溶,連同A的內(nèi)容一并克隆煮纵。

$('ul').clone().appendTo('body');

查詢:

基本的Dom操作
1. 設(shè)置 獲取 文本節(jié)點(diǎn)

    $('.box').text(); //獲取
    $('.box').text('12312312312'); //設(shè)置

2、設(shè)置 獲取 html 內(nèi)容

    $('.box').html(); //獲取
    $('.box').html('<p></p>'); //設(shè)置

3. 設(shè)置 獲取 表單內(nèi)容

    $('input').val(); //獲取
    $('input').val('嘿嘿嘿'); //設(shè)置

獲取 節(jié)點(diǎn):

獲取所有的子集節(jié)點(diǎn) $('.box').children()
獲取指定的子集節(jié)點(diǎn) $('.box').children('.item');
返回第一個(gè)指定節(jié)點(diǎn) $('.box').first();
返回最后一個(gè)指定節(jié)點(diǎn) $('.box').last();
獲取下一個(gè)節(jié)點(diǎn)對(duì)象 $('.box').next(); 只能獲取一個(gè)
獲取后面所有的節(jié)點(diǎn)對(duì)象 $('.box').nextAll()
獲取上一個(gè)節(jié)點(diǎn)對(duì)象 $('.box').prev(); 只能獲取一個(gè)
獲取上面所有的節(jié)點(diǎn)對(duì)象 $('.box').prevAll()
獲取所有的兄弟元素 $('.box').siblings();
獲取父節(jié)點(diǎn) $('.box').parent();
獲取定位父節(jié)點(diǎn) $('.box').offsetParent();
查找后代元素 $('.box').find('p'); 在后代中 查找 p 標(biāo)簽
獲取 元素 在 父元素 子集中 的位置下標(biāo) $('.box').index(); 返回值是 數(shù)值
將JQ對(duì)象 轉(zhuǎn)成 DOM對(duì)象 $('.box').get(); get里面出入的是 目標(biāo)下標(biāo)

設(shè)置自定義屬性 行間屬性:

    $('.box').attr('index')  讀取
    $('.box').attr('index','123')  設(shè)置

刪除行間屬性:

    $('.box').removeAttr('index');
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渐尿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子矾瑰,更是在濱河造成了極大的恐慌砖茸,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件殴穴,死亡現(xiàn)場(chǎng)離奇詭異凉夯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)采幌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門劲够,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人休傍,你說我怎么就攤上這事征绎。” “怎么了磨取?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵人柿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我忙厌,道長(zhǎng)凫岖,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任逢净,我火速辦了婚禮哥放,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘爹土。我一直安慰自己甥雕,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布胀茵。 她就那樣靜靜地躺著犀农,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宰掉。 梳的紋絲不亂的頭發(fā)上呵哨,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天赁濒,我揣著相機(jī)與錄音,去河邊找鬼孟害。 笑死拒炎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的挨务。 我是一名探鬼主播击你,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼谎柄!你這毒婦竟也來了丁侄?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤朝巫,失蹤者是張志新(化名)和其女友劉穎鸿摇,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體劈猿,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拙吉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了揪荣。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筷黔。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖仗颈,靈堂內(nèi)的尸體忽然破棺而出佛舱,到底是詐尸還是另有隱情,我是刑警寧澤挨决,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布名眉,位于F島的核電站,受9級(jí)特大地震影響凰棉,放射性物質(zhì)發(fā)生泄漏损拢。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一撒犀、第九天 我趴在偏房一處隱蔽的房頂上張望福压。 院中可真熱鬧,春花似錦或舞、人聲如沸荆姆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)胆筒。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仆救,已是汗流浹背抒和。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留彤蔽,地道東北人摧莽。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像顿痪,于是被迫代替她去往敵國(guó)和親镊辕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • 1: jQuery 能做什么征懈? 1. 選擇網(wǎng)頁(yè)元素 可以當(dāng)作CSS選擇器使用,簡(jiǎn)單的比如 $('#id')揩悄,復(fù)雜的...
    曉風(fēng)殘?jiān)?994閱讀 291評(píng)論 0 1
  • [if !supportLists]第一章 [endif]介紹 [if !supportLists]一、[endi...
    海綿寶寶_b8a2閱讀 277評(píng)論 0 0
  • JQuery中的DOM操作主要對(duì)包括:建【新建】镇匀、增【添加】袜啃、刪【刪除】汗侵、改【修改】、查【查找】【像數(shù)據(jù)庫(kù)操作】群发。...
    LiLi原上草閱讀 693評(píng)論 0 3
  • jquery介紹 jQuery是目前使用最廣泛的javascript函數(shù)庫(kù) 據(jù)統(tǒng)計(jì)晰韵,全世界排名前100萬的網(wǎng)站,有...
    就是這么帥_567e閱讀 1,122評(píng)論 0 0
  • jQuery基礎(chǔ) 什么是JQ熟妓?一個(gè)優(yōu)秀的JS庫(kù)雪猪,大型開發(fā)必備JQ的好處?一簡(jiǎn)化JS的復(fù)雜操作二不再需要關(guān)心兼容性三...
    幺七閱讀 942評(píng)論 0 2