web-dev-qa-db-fra.com

jQuery: utiliser une variable comme sélecteur

Je ne parviens pas à utiliser une variable comme sélecteur pour un paragraphe sur lequel je souhaite agir. Plus précisément, j'ai plusieurs éléments de titre et le même nombre de paragraphes. Le résultat souhaité est que si je clique sur Titre1, je prends une mesure sur paragraphe1. J'ai créé un cas simple à des fins de développement: si je clique sur un titre, le texte du paragraphe correspondant change de couleur. Si je code dur la solution, cela fonctionne, mais en passant une variable car le sélecteur échoue.

Le jQuery est comme suit:

    jQuery(document).ready(function($){
       $(this).click(function(){

        var target=(event.target.id);// Get the id of the title on which we clicked. We will extract the number from this and use it to create a new id for the section we want to open.
        alert(target);// checking that we are getting the right value.
        var openaddress=target.replace(/click/gi, "section");//create the new id for the section we want to open.
        alert('"#'+openaddress+'"');//Confirm that the correct ID has been created
        $('"#'+openaddress+'"').css( "color", "green" );//get the id of the click element and set it as a variable.
        //$("#section1").css( "color", "green" );//Test to confirm that hard coded selector functions correctly.

            return false;// Suppress the action on the anchor link.
            });


    });

L'alerte renvoie la variable suivante alert returned showing the value of the variable qui semble être correct et correspond à la version codée en dur. J'ai omis le code HTML car il fonctionne dans la version codée en dur, je suppose qu'il n'y a pas de problème de ce côté.

J'apprécierais tout conseil sur ce que je fais mal et comment le corriger.

Merci

54
dorich

Vous pensez trop compliqué. C'est en fait juste $('#'+openaddress).

152
Jan Krüger