- From: Jon Barnett <jonbarnett@gmail.com>
- Date: Wed, 4 Aug 2010 17:56:16 -0500
On Fri, Jun 4, 2010 at 1:49 AM, Biju <bijumaillist at gmail.com> wrote: > There are many cases where we want to sort child nodes of a DOM node. > Many times it is TR nodes of a TBODY > > Right now user writes javascript code to achive that. > Dont you think it is better if there was built DOM method for each node. > Additionally the method will have a sort function parameter to compare > elements > the same way as in JavaScript Array.sort(compare_func) > > function compare_func(a,b){ > if(isHeaderRow(a)) return -1; > if(isHeaderRow(b)) return 1; > if(a.textContent == b.textContent) return 0; > if(a.textContent < b.textContent) return -1; > return 1; > } > tablebody.sortChildNodes(compare_func) > > Use cases:- > Example 1: column sorting in yahoo mail > > Example 2: you can sort this listing by clicking the column headers > > https://bugzilla.mozilla.org/buglist.cgi?short_desc=sort&short_desc_type=allwordssubstr&resolution=--- > > Example 2: there are bug report in mozilla asking sorting in XUL grids > > https://bugzilla.mozilla.org/showdependencytree.cgi?id=482890&hide_resolved=1 > This sounds more akin to the thread with the subject line "Adding ECMAScript 5 array extras to HTMLCollection" It's already easy enough to do once you've copied the nodes into an array: var rowsArray = convertNodeListIntoJSArray(tBody.rows); // assuming you've written such a function rowsArray.sort(compare_func); tBody.innerHTML = ""; rowsArray.forEach(function(row) { tBody.appendChild(row) }); I'd rather just see some kind of resolution to mixing in Array methods into the HTMLCollection object. Since HTMLCollection objects are often 'live' it would just be: tBody.rows.sort(compare_func); I have no opinion on how Array methods should be mixed into HTMLCollection objects, since the difficulty seems to be more in implementation than devising a web authors' wishlist, but that's what I'd rather see. -- Jon Barnett -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20100804/4b885c5a/attachment-0001.htm>
Received on Wednesday, 4 August 2010 15:56:16 UTC