Bonjour,
A part JQuery, je programme en Action script avec lequel on peut faire par ex :

skin.theBody.oneBloc.theHeader.doSomething();

où skin contient l'instance theBody qui contient oneBloc qui contient theHeader qui contient et exécute la méthode doSomething().
Si oneBloc contient 2 autres instances similaires (theMain et theFoot par ex), il faut mieux faire,

var myArbo = skin.theBody.oneBloc;
myArbo.theHeader.doSomething();
myArbo.theMain.doSomething();
myArbo.theFoot.doSomething();

ainsi à l’exécution le ciblage de oneBloc ne se fait qu'une seul fois.

Je débute en JQuery/JS et ai cru (bêtement) pouvoir faire l'équivalent, en essayant par ex :

var myArbo=$("div#skin #theBody #oneBloc");
myArbo(".theHeader").doSomething(); // theHeader est une class css.
myArbo(".theMain").doSomething(); // etc...etc

ça ne marche pas comme vous le savez !

La question est...the question is,
Comment implémenter en JQuery, le principe décrit ci-dessus en AS ? C'est bien ce principe -à l'exécution- qui m’intéresse et non pas un code qui fonctionne autrement. Car j'ai déjà constaté par ex. que :

var aString="div#skin #theBody #oneBloc.";
$(aString+"theHeader").doSomething();
$(aString+"theMain").doSomething(); // etc

fonctionne très bien.

Merci et bonne journée.

2 réponses


s4p
Réponse acceptée
// Déclaration d'une méthode jQuery
$.fn.doSomething = function(args){
    return this.each(function(){
        $(this).css('font-weight', 'bold');
    });
}
var myArbo=$("div#skin #theBody #oneBloc");
// cherche '.theHeader' et '.theMain' dans myArbo
myArbo.find(".theHeader").doSomething(); // theHeader est une class css.
myArbo.find(".theMain").doSomething(); // etc...etc

Est-ce ça que tu cherchais ?

flnet
Auteur

C'est exactement ça.
Je vais valider ta réponse.
Merci S4p :)