Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #20262
| From | Denis McMahon <denismfmcmahon@gmail.com> |
|---|---|
| Newsgroups | comp.lang.javascript |
| Subject | Re: Prob with IE8 and getElementsByName() |
| Date | 2013-06-13 09:30 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <kpc3ge$j0k$1@dont-email.me> (permalink) |
| References | <b1pkhiFc1amU1@mid.individual.net> <51b86558$0$6630$9b4e6d93@newsspool2.arcor-online.net> <b1rfdhFntnvU1@mid.individual.net> |
On Wed, 12 Jun 2013 08:37:30 -0600, Mel Smith wrote:
> "Martin Honnen" <mahotrash@yahoo.de> wrote in message
> news:51b86558$0$6630$9b4e6d93@newsspool2.arcor-online.net...
>> Mel Smith wrote:
>>
>>> Using IE8 and the method document.getElementsByName("somename")
>>> works correctly for <input> elements with a 'name'
>>>
>>> However, it fails to produce an array of objects for <td>
>>> elements.
>>>
>>> Is there a workaround for this please ?
>>
>> Neither HTML 4 nor HTML5 define a "name" attribute on "td" elements I
>> think (while of course form controls like "input" elements have such an
>> attribute).
>>
>> So what do you want to achieve? If you want to group some "td" elements
>> other than by putting them into "tr" elements in the same "tbody" then
>> use the "class" attribute. In that case getElementsByClassName should
>> help, although for IE 8 you will need to implement it or use
>> querySelectorAll.
>
> Hi Andrew & Martin:
>
> Altho, I have four other tables on my page, I now have another and
> last
> (up to) 7-row table (with 6 columns) I wish to populate from an Ajax
> response.
>
> I was going to use the the 'name=' clause on the <td> elements of
> this
> short table to tell me which column I was going to fill from the AJAX
> responsetext.
>
> This is working perfectly with FF and with Chrome -- but , with IE8,
> the
> statement:
>
> amarkers = document.getElementsByName("markers"),
> aratings = document.getElementsByName("ratings"),
> (etcetera ... for 6 columns)
>
> but, the value of amarkers.length --> 0 when it should be
> from 1
> thru approx 7 (rows, that is)
>
> Then, I use the objects in the arrays (e.g., amarkers) to populate
> the
> table from my Ajax response.
>
> I guess I *could* use document.getElementsByTagName("td"), but then
> I'd
> have up to 7000 <td> elements to run thru ...
>
> I guess I'll 'plant' id="xxxxxx" each each of my 40 or so <td>
> elements
> instead.
>
> Thanks for the response.
Hi Mel
Don't forget that you can refine the selection repeatedly.
eg select a specific table, then select all the rows, skip however many
rows contain headers, then start working through the data rows and the
cells in each data row
So instead of document.getElementsByTagName you could:
cells = document.getElementsById("table_id").getElementsByTagName("td");
to get all the td cells in a specific table
Although you may want to work through them row by row:
rows = document.getElementsById("table_id").rows;
a = // number of header rows in this table
for ( i = a; i < rows.length; i++ ) {
cells = rows.item(i).cells;
for ( j = 0; j < cells.length; j++ ) {
// cell number in data area, 0 index:
cellNum = ( i - a ) * cells.length + j;
// do something with cell here
}
}
--
Denis McMahon, denismfmcmahon@gmail.com
Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Prob with IE8 and getElementsByName() "Mel Smith" <med_cutout_syntel@aol.com> - 2013-06-11 15:52 -0600
Re: Prob with IE8 and getElementsByName() Andrew Poulos <ap_prog@hotmail.com> - 2013-06-12 11:01 +1000
Re: Prob with IE8 and getElementsByName() Martin Honnen <mahotrash@yahoo.de> - 2013-06-12 14:11 +0200
Re: Prob with IE8 and getElementsByName() Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-06-12 16:33 +0200
Re: Prob with IE8 and getElementsByName() "Mel Smith" <med_cutout_syntel@aol.com> - 2013-06-12 08:37 -0600
Re: Prob with IE8 and getElementsByName() Andrew Poulos <ap_prog@hotmail.com> - 2013-06-13 08:36 +1000
Re: Prob with IE8 and getElementsByName() "Mel Smith" <med_cutout_syntel@aol.com> - 2013-06-12 16:59 -0600
Re: Prob with IE8 and getElementsByName() Denis McMahon <denismfmcmahon@gmail.com> - 2013-06-13 09:30 +0000
Re: Prob with IE8 and getElementsByName() Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-06-13 13:12 +0200
Re: Prob with IE8 and getElementsByName() "Mel Smith" <med_cutout_syntel@aol.com> - 2013-06-13 08:41 -0600
Re: Prob with IE8 and getElementsByName() "Mel Smith" <med_cutout_syntel@aol.com> - 2013-06-13 14:12 -0600
Re: Prob with IE8 and getElementsByName() "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-06-13 23:43 +0200
Re: Prob with IE8 and getElementsByName() Tim Streater <timstreater@greenbee.net> - 2013-06-13 23:19 +0100
Re: Prob with IE8 and getElementsByName() "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2013-06-14 00:34 +0200
Re: Prob with IE8 and getElementsByName() Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-06-14 10:17 +0200
Re: Prob with IE8 and getElementsByName() "Jukka K. Korpela" <jkorpela@cs.tut.fi> - 2013-06-13 08:24 +0300
Re: Prob with IE8 and getElementsByName() Dr J R Stockton <reply1300@merlyn.demon.co.uk.invalid> - 2013-06-12 19:01 +0100
csiph-web