jQuery實現(xiàn)獲取動態(tài)添加的標簽對象示例
本文實例講述了jQuery實現(xiàn)獲取動態(tài)添加的標簽對象。分享給大家供大家參考,具體如下:
jquery無法直接給網(wǎng)頁里面動態(tài)添加點擊事件,并且獲取到對象
一般來說,js獲取動態(tài)添加的組件都是自定義給標簽添加上onclick屬性來達到調(diào)用,這是普通的方法,如下:
onclick方式獲取
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.dbjr.com.cn jQuery動態(tài)獲取事件</title> </head> <body> <div id="test"></div> </body> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> var html="";//聲明變量用于存放html for (i=0;i<=10;i++){ html=html+"<button onclick='btnclick(this)'>按鈕"+i+"</button></br>"; } $('#test').html(html); function btnclick(e) { console.log(e.textContent);//獲取按鈕文本 } </script> </html>
如今jquery已經(jīng)到了3版本了,官方已經(jīng)放棄live方式了,推薦使用on方法。語法為
$('選擇器').on('click','選擇類型',function (e){代碼段}
jquery不能動態(tài)獲取到網(wǎng)頁里面的標簽,需要先獲取到網(wǎng)頁固定的標簽,讓后再獲取里面其他的標簽,所以,如上面代碼中的id為test的div是固定不變的。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.dbjr.com.cn jQuery動態(tài)獲取事件</title> </head> <body> <div id="test"></div> </body> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> var html="";//聲明變量用于存放html for (i=0;i<=10;i++){ html=html+"<button>按鈕"+i+"</button></br>"; } $('#test').html(html); $('#test').on('click','button',function (e){ console.log($(this)); }); </script> </html>
使用http://tools.jb51.net/code/HtmlJsRun測試運行效果:
這樣寫就非常簡單了,其中選擇類型里面的button還可以進一步限制,如:button[class=test],就是選擇動態(tài)創(chuàng)建的類為text的按鈕。
要實現(xiàn)單雙數(shù)只需要在test后面加”:even
”,button[class=test]:even
,或者odd偶數(shù)
修改后的示例代碼如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.dbjr.com.cn jQuery動態(tài)獲取事件</title> </head> <body> <div id="test"></div> </body> <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> var html="";//聲明變量用于存放html for (i=0;i<=10;i++){ html=html+"<button class=test>按鈕"+i+"</button></br>"; } $('#test').html(html); $('#test').on('click','button[class=test]:even',function (e){ console.log($(this)); }); </script> </html>
繼續(xù)使用http://tools.jb51.net/code/HtmlJsRun 測試jquery動態(tài)獲取奇數(shù)對象運行效果:
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery常見事件用法與技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴展技巧總結(jié)》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對大家jQuery程序設(shè)計有所幫助。
- jquery 如何動態(tài)添加、刪除class樣式方法介紹
- jQuery給動態(tài)添加的元素綁定事件的方法
- jquery動態(tài)添加option示例
- jQuery動態(tài)添加的元素綁定事件處理函數(shù)代碼
- jQuery如何獲取動態(tài)添加的元素
- jquery動態(tài)添加刪除(tr/td)
- jQuery實現(xiàn)表格行和列的動態(tài)添加與刪除方法【測試可用】
- Jquery 獲取指定標簽的對象及屬性的設(shè)置與移除
- jQuery獲取當前對象標簽名稱的方法
- JS加jquery簡單實現(xiàn)標簽元素的顯示或隱藏
- jQuery實現(xiàn)標簽子元素的添加和賦值方法
相關(guān)文章
JQuery為textarea添加maxlength屬性的代碼
textarea默認不支持maxlength屬性。所以通過jquery實現(xiàn)下。具體的看代碼。2010-04-04JQuery中模擬image的ajaxPrefilter與ajaxTransport處理
這篇文章主要介紹了JQuery中模擬image的ajaxPrefilter與ajaxTransport處理,本文直接給出模擬實現(xiàn)代碼,代碼中包含詳細注釋,需要的朋友可以參考下2015-06-06JQuery Tips(2) 關(guān)于$()包裝集你不知道的
包裝集總是面向集合的,需要的朋友可以參考下。2009-12-12