By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,472 Members | 1,199 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,472 IT Pros & Developers. It's quick & easy.

Change table cell text alignment?

P: n/a
I want to be able to change the text alignment within a table cell between
"right" & "center" depending on how many rows are in the table.

Is this possible in Javascript? - can't see how to do it!

thanks

harry
Jul 23 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a


harry wrote:
I want to be able to change the text alignment within a table cell between
"right" & "center" depending on how many rows are in the table.

Is this possible in Javascript?


In browsers that implement the W3C DOM HTML module as specified here
<http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-82915075>
table cell element objects have property named align which you can read
and set e.g.
tableCell.align = 'right';
Table element objects as documented here
<http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-64060425>
have a rows property whiich is a collection with a length property so
you could check
if (tableElement.rows.length > 200) {
tableCell.align = 'right';
}
Getting a table or table cell elements can be done in various ways, by
id e.g.
<table id="table1">
<tbody>
<tr>
<td id="cell1">...</td>
...
...
</table>

var tableElement, tableCell;
if (document.getElementById) {
tableElement = document.getElementById('table1');
tableCell = document.getElementById('cell1');
// then do above check here
}
but of course the DOM offers various other possibilities (e.g.
document.getElementsByTagName('table')) to find elements.

Support for that is in at least IE5+, Netscape 6+, Mozilla 1.x, Opera 7,
hopefully in Safari and Konqueror too though I am not sure there I have
ever tested to manipulate the align property of a table cell.
--

Martin Honnen
http://JavaScript.FAQTs.com/
Jul 23 '05 #2

P: n/a
Martin Honnen wrote:
[...]
if (tableElement.rows.length > 200) {
tableCell.align = 'right';


You can also play with the style object:

if (tableElement.rows.length > 200 && tableCell.style) {
tableCell.style.textAlign = 'right';
// more style manipulation
}

--
Rob
Jul 23 '05 #3

P: n/a
You might also be able to put a div tag inside each cell with a class
on it that will hold your content. Then, it would be really easy to
dynamically change the class using javascript.

Jul 23 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.