There must be a better way to do the following with PrototypeJS. I want to loop over nested links inside of table td cells and apply a class to the row that the link is in when the link is clicked. If a user clicks on another link the class will be removed and applied to the current table row.
The code below works but I think it seems hackish. Any thoughts on improving this code?
Here is the link to the pastie http://pastie.org/703316
# This is the table with haml markup
%table
%tr
%td
info
%td
= link_to "be clicked", remote_request_goes_here_path
And the Js
$$("td.filter_link > a").each(function(element){
Event.observe(element, "click", function(event){
$$("td.filter_link").each(function(el){
if(el != this){
el.up().removeClassName("turnwhite");
}
});
// apply the turnwhite class to the table row
this.up().up().addClassName("turnwhite");
});
});
Just finishing up brewing up some fresh ground comments...