2015-06-03 17 views
-2

我有一個網站有很多表,現在使用特定的腳本,需要每個表的ID,有沒有一種方法可以在網站上的每個表上添加相同的ID ?腳本爲所有表自動添加相同的ID

例如默認表s是這樣的:

<table class="table-cr"> 
    <tr> 
    <td>Jill</td> 
    <td>Smith</td> 
    <td>50</td> 
    </tr> 
    <tr> 
    <td>Eve</td> 
    <td>Jackson</td> 
    <td>94</td> 
    </tr> 
</table> 

後:

<table id="xxxx" class"table-cr"> 
    <tr> 
    <td>Jill</td> 
    <td>Smith</td> 
    <td>50</td> 
    </tr> 
    <tr> 
    <td>Eve</td> 
    <td>Jackson</td> 
    <td>94</td> 
    </tr> 
</table> 
+0

<腳本類型= 「文本/ JavaScript的」> $(函數(){ $( 「#XXXX」); }); –

+0

能否解釋清楚wat你的問題? –

+0

我想使用一個http://johnpolacek.github.io/stacktable.js/腳本使表響應,此腳本需要一個id表,現在我的網站沒有每個表的id,所以我要求如果可能的話使用腳本在每個表上添加一個特定的ID,在此之後,腳本會對錶 – themich

回答

1

這裏是一個可能的解決方案:

迭代通過在頁面中的表和分配的ID如下所示,

var tables = $('table'); 
 
$.each(tables, function(i, tbl){ 
 
    $(tbl).prop('id', 'table'+i);  
 
}); 
 

 
$('#status').text('Dynamic Id of third table is: '+$(tables[2]).prop('id'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table class="table-cr"> 
 
    <tr> 
 
    <td>Jill1</td> 
 
    <td>Smith1</td> 
 
    <td>501</td> 
 
    </tr> 
 
    <tr> 
 
    <td>Eve1</td> 
 
    <td>Jackson1</td> 
 
    <td>941</td> 
 
    </tr> 
 
</table> 
 
<table class="table-cr"> 
 
    <tr> 
 
    <td>Jill2</td> 
 
    <td>Smith2</td> 
 
    <td>502</td> 
 
    </tr> 
 
    <tr> 
 
    <td>Eve2</td> 
 
    <td>Jackson2</td> 
 
    <td>942</td> 
 
    </tr> 
 
</table> 
 
<table class="table-cr"> 
 
    <tr> 
 
    <td>Jill3</td> 
 
    <td>Smith3</td> 
 
    <td>503</td> 
 
    </tr> 
 
    <tr> 
 
    <td>Eve33</td> 
 
    <td>Jackson3</td> 
 
    <td>943</td> 
 
    </tr> 
 
</table> 
 

 
<label id='status'/>

+0

謝謝,但爲每個表顯示不同的ID,我想使用相同的ID – themich

+2

對所有表都使用相同的ID不是一個好習慣。爲什麼你想爲表分配相同的ID? –

+2

準確地說^ - 改爲使用類。 @themich –

0

你可以試試,表中的每一次ID已運行時,頁面加載

<script type="text/javascript" src="//code.jquery.com/jquery-1.9.1.js"></script> 
    <script type="text/javascript"> 
$(function() { $("#XXXX"); }); 
    </script> 
+1

*「你可以試試」*答案類型更適合作爲評論,你不同意嗎? –

+2

你也沒有正確縮進你的代碼。 –

+0

使用4個空格(或更多)後跟代碼或突出顯示代碼,然後執行CTRL-K以正確縮進。我編輯了你的代碼。 –

1

是的,你可以使用JavaScript做它作爲

document.getElementsByTagName("table")[0].setAttribute("id", "demoid"); 

此代碼將簡單地添加ID demoid到您的表

+0

測試過但不能工作 – themich

0

這裏是溶液

$(function() { 
    $('table').each(function (i, t) { 
    $(t).prop('id', 'table'); 
    }); 
}); 
+0

這個工作,在表上添加id,但是不能用stacktable.js, – themich

+0

有想法,因爲不工作? – themich

+0

可堆疊。js只有在加載頁面後使用chrome控制檯發送腳本$('#table')。stacktable({myClass:'small-only'});,如果在php頁面中插入此代碼無法在加載頁面後工作。 – themich