2015-06-03 16 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