jQuery實現(xiàn)獲取動態(tài)添加的標(biāo)簽對象示例
本文實例講述了jQuery實現(xiàn)獲取動態(tài)添加的標(biāo)簽對象。分享給大家供大家參考,具體如下:
jquery無法直接給網(wǎng)頁里面動態(tài)添加點擊事件,并且獲取到對象
一般來說,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的按鈕。
要實現(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實現(xiàn)表格行和列的動態(tài)添加與刪除方法【測試可用】
- Jquery 獲取指定標(biāo)簽的對象及屬性的設(shè)置與移除
- jQuery獲取當(dāng)前對象標(biāo)簽名稱的方法
- JS加jquery簡單實現(xiàn)標(biāo)簽元素的顯示或隱藏
- jQuery實現(xiàn)標(biāo)簽子元素的添加和賦值方法
相關(guān)文章
JQuery為textarea添加maxlength屬性的代碼
textarea默認(rèn)不支持maxlength屬性。所以通過jquery實現(xiàn)下。具體的看代碼。2010-04-04
JQuery中模擬image的ajaxPrefilter與ajaxTransport處理
這篇文章主要介紹了JQuery中模擬image的ajaxPrefilter與ajaxTransport處理,本文直接給出模擬實現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下2015-06-06
JQuery Tips(2) 關(guān)于$()包裝集你不知道的
包裝集總是面向集合的,需要的朋友可以參考下。2009-12-12

