Как сделать недавно вставленный тег <tr>, чтобы он занимал общую ширину таблицы - PullRequest
1 голос
/ 14 ноября 2011

У меня есть таблица, и я динамически вставляю новую строку. Он содержится только на тд. Но он занимает только одну ширину тд как здесь
Как я могу сделать недавно вставленный tr, чтобы он занимал общую ширину таблицы.

 Here number of td s are not fixed.That is, it is not always 3.  

Вот мой HTML

<table>
    <tr><td>1</td><td>2</td><td>3</td></tr>
    <tr id='a'><td>4</td><td>5</td><td>6</td></tr>
    <tr><td>7</td><td>8</td><td>9</td></tr>
</table>

Вот мой код

$('<tr id="b" style="background-color:blue"><td >new</td></tr>').insertBefore($('#a'));

Еще здесь есть скрипка , на которую можно положить руки ..

Ответы [ 5 ]

2 голосов
/ 14 ноября 2011

Добавьте colspan к элементу <td>:

$('<tr id="b" style="background-color:blue"><td colspan="3">new</td></tr>').insertBefore($('#a'));

http://jsfiddle.net/WAuw4/5/

EDIT

Если вы не знаете количество ячеек в таблице:

var colspan = $('#a td').length;
$('<tr id="b" style="background-color:blue"><td colspan="' + colspan + '">new</td></tr>').insertBefore($('#a'));
2 голосов
/ 14 ноября 2011

Вы можете добавить colspan=3 в свой новый td

$('<tr id="b" style="background-color:blue"><td colspan=3>new</td></tr>').insertBefore($('#a'));

Пример : http://jsfiddle.net/WAuw4/4/

Вот еще немного о colspanатрибут: http://reference.sitepoint.com/html/td/colspan

РЕДАКТИРОВАТЬ:

На основе вашего комментария

Но число <td> с невсегда исправлено.

Я бы сделал это

Проверьте число td в первом ряду.Добавьте это к вашему colspan

var len = $('tr:first td').length;

$('<tr id="b" style="background-color:blue"><td colspan=' + len + '>new</td></tr>').insertBefore($('#a'));

Пример: http://jsfiddle.net/WAuw4/7/

2 голосов
/ 14 ноября 2011
total_td = $('table tr:first td').length;

$('<tr id="b" style="background-color:blue"><td colspan="' + total_td  + '">new</td></tr>').insertBefore($('#a'));
0 голосов
/ 14 ноября 2011

Используйте Colspan для настройки диапазона тд в строке.

$('<tr id="b" style="background-color:blue"><td `colspan="3"` >new</td></tr>').insertBefore($('#a'));

Я проверил на вас jsfiddle ..

у вас должно быть некоторое фиксированное или предсказуемое число <td>, иначе, как вы можете управлять этим .. если вы хотите реализовать такой подходзатем на месте <td> используйте <div>

0 голосов
/ 14 ноября 2011

вставка colspan="3" как это

$('<tr id="b" style="background-color:blue"><td colspan="3">new</td></tr>').insertBefore($('#a'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...