jQuery - Add click event to Div and go to first link found

Posted by LuckyShot on Stack Overflow See other posts from Stack Overflow or by LuckyShot
Published on 2010-04-15T15:28:48Z Indexed on 2010/04/15 15:33 UTC
Read the original article Hit count: 329

Hi guys,

I think I've been too much time looking at this function and just got stuck trying to figure out the nice clean way to do it.

It's a jQuery function that adds a click event to any div with a click CSS class found in the page and when clicked it redirects the user to the first link found in the div.

function clickabledivs() {
    $('.click').each(
        function (intIndex) {
            $(this).bind("click", function(){
                window.location = $( "#"+$(this).attr('id')+" a:first-child" ).attr('href');
            });
        }
    );
}

The code simply works although I'm pretty sure there is a fairly better way to accomplish it, specially the selector I am using: $( "#"+$(this).attr('id')+" a:first-child" ) looks too long and slow. Any ideas?

Please let me know if you need more details. Thanks!

PS: I've got some jQuery benchmarking reference from Project2k.de here: http://blog.projekt2k.de/2010/01/benchmarking-jquery-1-4/

© Stack Overflow or respective owner

Related posts about jQuery

Related posts about JavaScript