2011-10-14 5 views
2

Essayer d'obtenir ce (simple,!) Expression jQuery pour travailler dans MootoolsJquery à Mootools

Jquery:

checkCurrentModule = function(){ 
     jQuery(".module ul li.current").prepend("<b class='arrow'></b>"); 
    }; 

Et voici ma tentative dans Mootools

var checkCurrentModule = function(){ 
      var injectModuleli = $$("li.current"); 
      var currentArrow = new Element("<b class='arrow'></b>"); 
      currentArrow.inject(injectModuleli); 
     };  
+0

mais quel est le problème? Avez-vous des messages d'erreur? script-erreurs? tout va bien et vous voulez juste montrer comment cela fonctionne? quelques informations supplémentaires seraient vraiment bien ... – oezi

+4

jQuery est supérieur à tout le reste là-bas. Il a court-circuité mon code, accéléré mon temps d'achèvement et guéri mes pellicules. Il ne peut pas être converti, mais peut seulement être dégradé. Vous hérétique. – Blazemonger

+0

Je comprends que je préférerais faire ceci dans jQuery mais quand vous avez un client qui ne veut pas ajouter la bibliothèque alors votre peu de sol. @oezi J'essaie d'obtenir l'instruction jQ "valide/fonctionnant" pour fonctionner dans Mootools. Je n'arrive pas à faire en sorte que l'instruction Mootools soit "préfixée" comme je l'ai dans ma déclaration JQ. – Starboy

Répondre

3
var injectModuleli = document.getElement('li.current'); 
var currentArrow = Elements.from('<strong class="arrow"></strong>'); 
currentArrow.inject(injectModuleli, 'top'); 

Exemple de travail: http://jsfiddle.net/NGjgV/

+0

Merci Oskar, mais j'ai remarqué dans votre violon que vous avez le paquet "plus" sélectionné avec Mootools. Connaissez-vous les fonctionnalités spécifiques dont j'aurais besoin pour que l'appel à propos fonctionne? – Starboy

+1

Oui, vous avez besoin de cette classe: http://mootools.net/docs/more/Element/Elements.From –

0

I ne suis pas vraiment familier avec mootools, mais je crois que le code suivant fait ce que vous voulez:

var checkCurrentModule = function() { 
    new Element("b", { 
     "class": "arrow" 
    }).inject($$(".module ul li.current"), "top"); 
}; 
+0

Je pensais que cela allait marcher mais il semble que ce soit en train de supprimer tout le "li.current", puis de ne rien injecter ... Ce qui est étrange. – Starboy

+0

@Starboy, à droite, il semble que les deux éléments doivent être commutés. Une chose de plus que j'ai appris sur mootools :) Je vais mettre à jour ma réponse. –

5

Fournir une solution comme une doublure et sans dépendance à Mootools-plus:

$$('li.current').grab(new Element('b.arrow'), 'top'); 

(j'aurait juste ajouté cela comme un commentaire , mais je ne suis pas encore autorisé à.)