国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery獲取動態生成的元素示例

2024-05-06 16:07:03
字體:
來源:轉載
供稿:網友
頁面上可以動態添加數據,比如table,點擊按鈕可以動態添加行,下面與大家分享下jQuery如何獲取動態生成的元素

需求描述:頁面上可以動態添加數據,比如table,點擊按鈕可以動態添加行。又或頁面
加載時table數據是通過ajax從后臺獲取的。而這時我們想要獲取其中的某個值,又該如何獲取呢?

如果是要通過某個事件來獲取的比如click,mouseover等等,則可以使用live()方法

復制代碼 代碼如下:


$(".button").live("click",function(){
console.info($("#mytd").html());
})


而如果不是通過某個事件,當頁面加載的時候我們就要獲取值或進行其他操作

live()方法就不行了,因為我們無法傳入一個事件。

比如以下代碼:

復制代碼 代碼如下:


<body>
<table>

</table>
</body>
<script type="text/javascript">
$(function() {
$.post("admin/UserForumthemeBabygrowupFrontList.do",{},function(data){
console.info(data.table);
$("#tab").append(data.table);
})

alert($("#mytd").html()); //獲取值
});
</script>


以上代碼很簡單,就是通過post從后臺返回的值添加到<table>中

后臺返回數據為 <tr><td>北京</td><td>深圳</td></tr>而我們要在post之后獲取id為mytd的值,

此時是獲取不到的,我們從瀏覽器中就可以觀察出問題:

jQuery獲取動態生成的元素示例

 
從以上可以看出在alert的時候 數據并還沒有加載出來 控制臺也并沒有打印出信息,所以此時是取不到數據的。

使用ajaxComplete()方法可以在請求完成時運行要執行的代碼,我們修改為如下:

復制代碼 代碼如下:


$(function() {
$.post("admin/UserForumthemeBabygrowupFrontList.do",{},function(data){
console.info(data.table);
$("#tab").append(data.table);
})
$("#tab").ajaxComplete(function(){ //待請求完成時 執行
alert($("#mytd").html());
})
});


jQuery獲取動態生成的元素示例

 
此時再獲取的時候頁面已加載完數據。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 伊川县| 富平县| 吐鲁番市| 陕西省| 镇远县| 山阴县| 商水县| 丰顺县| 张掖市| 吉水县| 白城市| 阿拉善左旗| 汉中市| 乌鲁木齐县| 孝义市| 大同县| 丹寨县| 利辛县| 正镶白旗| 大庆市| 礼泉县| 常宁市| 阳曲县| 利津县| 甘洛县| 任丘市| 苍梧县| 河北区| 稷山县| 汽车| 高陵县| 云安县| 汉源县| 黑山县| 彭山县| 江城| 开原市| 芜湖市| 郓城县| 澳门| 梁河县|