2015-06-03 2 views
-2

У меня есть веб-сайт с большим количеством таблиц, теперь для использования определенного скрипта требуется идентификатор для каждой таблицы, существует ли способ для добавления одинакового идентификатора на каждую таблицу на сайте автоматически ?Скрипт для автоматического добавления одинакового идентификатора ко всем таблицам

пример по умолчанию таблица 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

Могла ли PLS объяснить вашу проблему с четким ватом? –

+0

Я хочу использовать сценарий http://johnpolacek.github.io/stacktable.js/, чтобы сделать таблицу отзывчивой, для этого сценария требуется таблица идентификаторов, теперь у моего сайта нет идентификатора для каждой таблицы, поэтому я прошу, если это возможно используйте скрипт для добавления на каждую таблицу определенного идентификатора, поэтому после этого сценарий реагирует на таблицу – themich

ответ

1

Вот возможное решение:

перебирать таблиц на странице и назначить идентификатор как показано ниже,

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

спасибо, но покажите разный идентификатор для каждой таблицы, я хочу использовать один и тот же идентификатор – themich

+2

, это не очень хорошая практика иметь одинаковый идентификатор для всех таблиц. Почему вы хотите назначить одинаковый идентификатор для таблиц? –

+2

Точно^- используйте вместо этого класс. @themich –

0

Вы можете попробовать, Каждый раз, когда идентификатор таблицы был запущен при загрузке страницы

<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"); 

этого кода будет просто добавьте идентификатор demoid к вашему столу

+0

проверено, но не работает – themich

0

Вот решение

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

эта работа, добавить идентификатор на стол, но не работать с stacktable.js, – themich

+0

есть идея, потому что не работает? – themich

+0

stacktable.js работает с вашим кодом, только если вы отправляете с консолью chrome после загрузки страницы сценарий $ ('# table'). stacktable ({myClass: 'small-only'}) ;, если этот код на php-странице не работает после загрузки страницы , – themich

Смежные вопросы