$("#" + fieldset_id)
- Richard

On Mon, Oct 27, 2008 at 4:13 PM, fredriley <[EMAIL PROTECTED]> wrote:

>
> This has got to be a FAQ, but I can't see it in the FAQ so here goes,
> and apologies if it's a stupid question but I'm a relative newbie to
> jQuery:
>
> How can I select an element whose id is stored in a constructed string
> variable?
>
> What I mean is something like the following. In a document I've got
> <span> elements with IDs "1", "2", "3", etc, and these correspond to
> fieldset elements with IDs "part1", "part2", "part3", etc. The user
> clicks on a <span>, the code gets its ID, constructs the ID of the
> corresponding <fieldset>, then does something with that (hides it). So
> something like:
>
> $("span").click(function()
> {
>       // get the handle of the clicked element
>        var mySpan = $(this);
>      // get its id
>        var span_id = mySpan.attr("id");
>     // construct the fieldset id
>        var fieldset_id = "part" + span_id;
>    // select the fieldset then hide it - now I'm stuck
> });
>
> I've tried the selectors:
>
> alert($(fieldset_id).attr("id")); // gives 'undefined'
> alert($(#fieldset_id).attr("id")); // syntax error: illegal character,
> not surprisingly
> alert($("#fieldset_id").attr("id")); // gives 'undefined'
>
> An alternative would be to get the handle of the fieldset element,
> which could be achieved with the Javascript:
>
>        var id2 = document.getElementById(fieldset_id);
>        alert(id2.id); // gives the id of the fieldset
>
> but I don't know how to do this in jQuery. I'd prefer to go the whole
> jQuery hog and not mix it with raw JS, and I could do with
> understanding how to do this simple operation anyway to improve my
> jQuery understanding, so tips would be welcome. TIA.
>
> What I'm trying to do is generalise the specific code in the test at
> http://www.nottingham.ac.uk/~ntzfr/test/ajax/jquery/show_hide.html to
> handle a form with any number of toggle-able sections.
>
> Cheers
>
> Fred
>
>
>

Reply via email to