我在頁面上有許多表。這些內容是由一個php腳本生成的,該腳本給出了一個關鍵字(kuid - 從數據庫加載)並使用jQuery加載。
在網頁上,他們是這個樣子:
<table class="className" kuid="someInteger"></table>
這裏是jQuery的我想出了:
jQuery('.className').each(function(){
var kuid = jQuery(this).attr('kuid');
jQuery.post('data.php',{kuid: kuid},function(data){
jQuery(this).html(data);
});
});
和data.php:
$kuid = $_POST['kuid'];
echo 'Content for this ID: '.$kuid.'!';
然而它會拋出一個'Uncaught TypeError'。 Apperently我不允許使用$(this)
關鍵字,但我不明白爲什麼。
此代碼的工作有點:
var kuid = jQuery('.className').attr("kuid");
jQuery.post(data.php',{kuid: kuid},function(data){
jQuery('.className').html(data);
});
,但相同的內容給每個表基於「kuid」第一次出現的。
你可以解釋爲什麼原來沒有工作過? – 2014-09-04 15:19:29
這有一個意想不到的副作用。只有頁面上的最後一張表才能獲取內容 - 它通過所有kuid快速閃爍。有趣的是,由於POST請求,它是隨機的,哪一個最終位於頂部。大部分時間是最後一次,但有時候是倒數第二次。 – glaux 2014-09-05 08:16:31