Je suis (lentement) en train d'écrire un analyseur XML pour certains fichiers "définition de site" qui vont conduire un site web. Beaucoup d'éléments seront analysés de la même manière et je n'aurai pas nécessairement besoin de garder les valeurs pour chacun.
Ma question est en fait assez simple: Comment puis-je utiliser Manipulateurs jquery dans une fonction de classe? Comment puis-je passer $ (this)? Je sais qu'il se réfère parfois à un objet DOM et parfois à l'objet jQuery, mais je suis un peu flou.
Pour ma fonction:
function parseXML(xml) {
$("book, site", xml).children().each(function() {
var label = $(this).get(0).tagName;
var text = $(this).text();
var key = toCamelCase(label);
if ((key in siteData) && (text != -1)){
if (isArray(siteData[key]))
{
$(this).children().each(function(){
var childLabel = $(this).get(0).tagName;
var childText = $(this).text();
var childKey = toCamelCase(childLabel);
if(isArray(siteData[key][childKey]))
{
siteData[key][childKey].push(childText);
}
else {
siteData[key].push(childText);
}
});
}
else
{
siteData[key] = text;
}
};
});
}
});
Je veux placer
var label = $(this).get(0).tagName; var text = $(this).text(); var key = toCamelCase(label);
dans une classe, donc je peux faire quelque chose comme
var child = new Element(); and var subchild = new Element();
puis utilisez child.label , child.text and child.key
... Mais encore une fois, je ne sais pas comment utiliser les méthodes jquery avec ces ... J'ai plus de nœuds pour traiter et je ne veux pas continuer à faire des choses comme var label = $(this).get(0).tagName; and then var childLabel = $(this).get(0).tagName;
Merci.
Oups, collision pour .text() ... dois renommer. à part ça, ça marche, c'est sûr. Je ne sais pas si c'est le meilleur moyen. –
ce que vous devriez faire est d'obtenir 'JavaScript: The Good Parts' c'est un livre génial et très court. Je viens de le terminer mais il y a quelques chapitres sur l'héritage. Il y a une meilleure façon de le faire en utilisant un prototype. J'ai besoin de relire le livre cependant, p – Shawn
j'ai une idée, laisse faire une question de ceci – Shawn