Sometimes I hate how in order to make things efficient (?), the code size becomes really huge:
var getText = (function(){ var type = document.createElement('div'); if (typeof element.textContent != 'undefined') { return function(element) { return element.textContent; } } else if (typeof element.innerText != 'undefined') { return function(element) { return element.innerText; } } return function(){}; })(); - kangax On May 20, 7:17 pm, RobG <[EMAIL PROTECTED]> wrote: > On May 20, 7:25 am, Jonathan_C <[EMAIL PROTECTED]> wrote: > > > I'm writing some code to subset a table based on the contents of > > particular columns. My event handler starts off like this: > > > subsetChange: function(e) { > > var subset = $F('subsetSelector'); > > var rows = $$('.content-row'); > > rows isn'ta good variable name as table and table section elements > have a rows collection, so may be confusing. > > > rows.each(function(row) { > > var value = row.down('.Platform_Category').childNodes[0].data; > > switch (subset) { > > > ... show/hide rows based on whether the value matches the user > > selected subset ... > > > My question is whether there is a more Prototype-ish way to get the > > values from my table cells instead of using ".childNodes[0].data". > > Why not use either DOM 3 textContent or IE innerText? e.g. > > function getText (el) { > if (typeof el.textContent == 'string') return el.textContent; > if (typeof el.innerText == 'string') return el.innerText; > } > > Or if you want to be "Prototypeis": > > Element.addMethods({ > getText: function(element) { > element = $(element); > if (typeof element.textContent == 'string') { > return element.textContent; > } > if (typeof element.innerText == 'string') { > return element.innerText; > } > } > > }); > > Table rows have a cells collection that contains all the cells in the > row, so if you want the content of the first cell: > > var value = rows[i].cells[0].getText(); > > -- > Rob --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Spinoffs" group. To post to this group, send email to rubyonrails-spinoffs@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/rubyonrails-spinoffs?hl=en -~----------~----~----~----~------~----~------~--~---