標籤:mouse tail 使用 sni code net 問題 lis com
需求描寫敘述:頁面上能夠動態加入資料,比方table,點擊按鈕能夠動態加入行。
又或頁面
載入時table資料是通過ajax從後台擷取的。而這時我們想要擷取當中的某個值,又該怎樣擷取呢?
假設是要通過某個事件來擷取的比方click,mouseover等等,則能夠使用live()方法
$(".button").live("click",function(){ console.info($("#mytd").html()); })
live()的具體說明參考http://blog.csdn.net/itmyhome1990/article/details/17380665
而假設不是通過某個事件,當頁面載入的時候我們就要擷取值或進行其它操作
live()方法就不行了,由於我們無法傳入一個事件。
比方下面代碼:
<body><table id="tab" border="1" width="30%"></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>
以上代碼非常easy,就是通過post從後台返回的值加入到<table>中
後台返回資料為 <tr><td id=‘mytd‘>北京</td><td>深圳</td></tr>而我們要在post之後擷取id為mytd的值,
此時是擷取不到的,我們從瀏覽器中就能夠觀察出問題:
從以上能夠看出在alert的時候 資料並還沒有載入出來 控制台也並沒有列印出資訊,所以此時是取不到資料的。
使用ajaxComplete()方法能夠在請求完畢時運行要啟動並執行代碼,我們改動為例如以下:
$(function() {$.post("admin/UserForumthemeBabygrowupFrontList.do",{},function(data){console.info(data.table);$("#tab").append(data.table);})$("#tab").ajaxComplete(function(){ //待請求完畢時 運行 alert($("#mytd").html());})});
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRteWhvbWUxOTkw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" />
此時再擷取的時候頁面已載入完資料。
jQuery擷取動態產生的元素