jQuery實(shí)現(xiàn)獲取動態(tài)添加的標(biāo)簽對象示例
本文實(shí)例講述了jQuery實(shí)現(xiàn)獲取動態(tài)添加的標(biāo)簽對象。分享給大家供大家參考,具體如下:
jquery無法直接給網(wǎng)頁里面動態(tài)添加點(diǎn)擊事件,并且獲取到對象
一般來說,js獲取動態(tài)添加的組件都是自定義給標(biāo)簽添加上onclick屬性來達(dá)到調(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)頁里面的標(biāo)簽,需要先獲取到網(wǎng)頁固定的標(biāo)簽,讓后再獲取里面其他的標(biāo)簽,所以,如上面代碼中的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測試運(yùn)行效果:
這樣寫就非常簡單了,其中選擇類型里面的button還可以進(jìn)一步限制,如:button[class=test],就是選擇動態(tài)創(chuàng)建的類為text的按鈕。
要實(shí)現(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ù)對象運(yùn)行效果:
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery常見事件用法與技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴(kuò)展技巧總結(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實(shí)現(xiàn)表格行和列的動態(tài)添加與刪除方法【測試可用】
- Jquery 獲取指定標(biāo)簽的對象及屬性的設(shè)置與移除
- jQuery獲取當(dāng)前對象標(biāo)簽名稱的方法
- JS加jquery簡單實(shí)現(xiàn)標(biāo)簽元素的顯示或隱藏
- jQuery實(shí)現(xiàn)標(biāo)簽子元素的添加和賦值方法
相關(guān)文章
JQuery為textarea添加maxlength屬性的代碼
textarea默認(rèn)不支持maxlength屬性。所以通過jquery實(shí)現(xiàn)下。具體的看代碼。2010-04-04JQuery中模擬image的ajaxPrefilter與ajaxTransport處理
這篇文章主要介紹了JQuery中模擬image的ajaxPrefilter與ajaxTransport處理,本文直接給出模擬實(shí)現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06JQuery Tips(2) 關(guān)于$()包裝集你不知道的
包裝集總是面向集合的,需要的朋友可以參考下。2009-12-12基于jquery實(shí)現(xiàn)拆分姓名的方法(純JS版)
jquery拆分姓名處理程序如下,純js實(shí)現(xiàn)的,感興趣的朋友可以參考下哈,希望對你有所幫助2013-05-05jQuery EasyUI 組件加上“清除”功能實(shí)例詳解
在使用 EasyUI 各表單組件時,尤其是使用 ComboBox(下拉列表框)、DateBox(日期輸入框)、DateTimeBox(日期時間輸入框)這三個組件時,經(jīng)常會遇到下拉框或日期只允許選擇、不允許手動輸入功能,怎么解決呢,下面小編給大家分享解決方案,一起看看吧2017-04-04