Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [Résolu] Jquery et append d'element

Envoyé par : alien7

Date : 24/05/2008 18:49

Bonjour, Y a t il un moyen d'injecter avec JQuery des elements sans faire un createElement comme ci dessous ?

/*var menuItem = document.createElement("menuitem");
$(menuItem).attr('label', nameF);
$(menuItem).attr('value', pathF);
$(menuItem).attr('onclick', "showTree('"+nameF+"');");*/
$('menupopup').append($('<menuitem label="eesao" />');

Le code commenté marche mais pas la dernière ligne.

Merci d'avance

# Re: Jquery et append d'element

Envoyé par : trblft

Date : 25/05/2008 00:10

SI tu remplaces append par AppendChild, ça ne marche pas non plus?

Je sais pas si on peut mélanger du DOM javascript avec du Jquery.

var menuitem = document.createElement("menuitem");
menuitem.setAttribute("label", nameF);
menuitem.setAttribute("value",pathF);
menuitem.setAttribute("onclick","showTree('"+nameF+"');");
menupopup.appendChild(menuitem);

Par contre je ne sais pas comment tu sélectionne ton élément menupopup. Je ne comprends pas la dernière ligne, ta variable menuItem n'était pas destinée à être ajoutée?

# Re: Jquery et append d'element

Envoyé par : alien7

Date : 25/05/2008 00:59

Non non ce code ci marche très bien :

var menuItem = document.createElement("menuitem");
$(menuItem).attr('label', nameF);
$(menuItem).attr('value', pathF);
$(menuItem).attr('onclick', "showTree('"+nameF+"');");*/
$('menupopup').append(menuItem);

Ce que je veux en fait c'est simplifier le code du haut par celui-ci avec cette ligne qui ne marche pas :

$('menupopup').append('<menuitem label="essai" />');

"Je sais pas si on peut mélanger du DOM javascript avec du Jquery". Si on peut utiliser JQuery pour les selecteurs et manipulations du DOM, enfin pas tous je pense. Jen'ai pa stous testé, j'ai commencé aujourd'hui avec JQuery et XUL, mais je connais bien JQuery

# Re: Jquery et append d'element

Envoyé par : trblft

Date : 25/05/2008 11:39

Est-ce que tu ne devrais pas créer le <menuitem label="essai"/> et ensuite l'intégrer? Je sais que ça va à l'encontre de ton souhait de simplification, mais bon... J'ai cherché dans la syntaxe Jquery, je ne vois pas comment le créer.

# Re: Jquery et append d'element

Envoyé par : oriande

Date : 05/06/2008 08:27

Bonjour,

utilises le plugin 'jquery-dom.js', la syntaxe devient :

$('menupopup').append($.create('menuitem', { 'label':'essai' }, []));

# Re: Jquery et append d'element

Envoyé par : alien7

Date : 05/06/2008 12:59

Tres bien ca, pourquoice n'est pas integré à jquery ca ? Merci beaucoup oriande :)

J'en profite pour poser une autre question :

var line = $('#idTree').currentIndex;
alert(line);

Ce code ne marche pas, ca me retourne indeffined

tree = document.getElementById(idTree);		       	
var line = tree.currentIndex;
alert(line);

Ce code marche il me retourne bien la ligne.

Voilà savez vous pourquoi ? Merci

# Re: Jquery et append d'element

Envoyé par : teddyber

Date : 05/06/2008 17:30

alien7 a écrit:

J'en profite pour poser une autre question :
var line = $('#idTree').currentIndex;
alert(line);
Ce code ne marche pas, ca me retourne indeffined

c'est pas plutôt ça qui marcherait ? :

 var line = $('#idTree')[0].currentIndex;
 alert(line);

# Re: Jquery et append d'element

Envoyé par : alien7

Date : 05/06/2008 22:57

Non marche pas non plus, j'obtient l'erreur suivant :

$("#idTree")[0] is undefined

# Re: Jquery et append d'element

Envoyé par : Raphael

Date : 06/06/2008 08:28

Perso, j'utilise cette fonction de substitution qui a l'air de ressembler à la tienne de Jquery :

// Remplace "document.getElementById(element)" pour plus de clarté...
function $() {
 var elements = new Array();

 for (var i = 0; i < arguments.length; i++) {
   var element = arguments[i];
   if (typeof element == 'string')
     element = document.getElementById(element);
   if (arguments.length == 1)
     return element;
   elements.push(element);
 }

 return elements;
}

Et je l'utilise ainsi sur des Tree par exemple :

$("cardlist").view.selection.select("0");

ou $(var_contenant_mon_id).view.selection.select("0");

# Re: Jquery et append d'element

Envoyé par : alien7

Date : 06/06/2008 12:03

Mais du coup ca pose problème non ? Je devrais passer que des Elements avec un ID :

element = document.getElementById(element);

Bon si ca ne marche pas avec Jquery je vais garder document.getElementById(element) c'est qu'une seul ligne donc ca va. Merci pour votre aide.

# Re: [Résolu] Jquery et append d'element

Envoyé par : oriande

Date : 06/06/2008 15:33

Avec jQuery, essais $('#idTree').get(0).currentIndex

# Re: [Résolu] Jquery et append d'element

Envoyé par : frycake

Date : 09/02/2010 09:00

Même si ce post est résolu il n'y a cependant aucune réponse pouvant aider. J'ai rencontré le même problème il y a peu, et en effet une méthode pour injecter du code XUL est de le faire sous forme XML (append ou appendChild).

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.