Analyser une chaîne HTML pour obtenir le contenu des éléments avec Javascript
J'ai la chaîne de caractères qui contient plusieurs éléments:
'<span class="fn" id="fn1">Matthew</span>
<span class="spouse" id="spouse1">Evelyn Ross</span>
<span class="bday" id="bday1">1456</span>
<span class="wday" id="wday1"></span>
<span class="dday" id="dday1">2000</span>'
Quelle serait la meilleure façon d'analyser ce à 5 variables?
MODIFIER
Pour plus de clarté, voici le code complet, je me suis créer un type de données d'entrée pour jEditable qui me permet de inline modifier un fichier vcard.
$.editable.addInputType('person', {
element : function(settings, original) {
var fn = $('<input id="fn_"/>');
var bday = $('<input id="bday_" />');
var wday = $('<input id="wday_" />');
var dday = $('<input id="dday_" />');
var spouse = $('<input id="spouse_" />');
$(this).append(fn);
$(this).append(bday);
$(this).append(wday);
$(this).append(dday);
$(this).append(spouse);
/* Hidden input to store value which is submitted to server. */
var hidden = $('<input type="hidden">');
$(this).append(hidden);
return(hidden);
},
content : function(string, settings, original) {
var $data = $(string);
var data = {};
$data.each(function () {
var $t = $(this);
data[$t.attr('id')] = {
class: $t.attr('class'),
value: $t.text()};
});
alert(data.length());
$("#fn_", this).val('Name');
$("#bday_", this).val('Born');
$("#wday_", this).val('Married');
$("#dday_", this).val('Died');
$("#spouse_", this).val('Spouse');
},
submit: function (settings, original) {
var value = "<span class=fn>" + $("#fn_").val() + '</span>' + '<span class=spouse>' + $("#spouse_").val() + '</span>' + '<span class=bday>' + $("#bday_").val() + '</span>' + '<span class=wday>' + $("#wday_").val() + '</span>' +'<span class=dday>' + $("#dday_").val() + '</span>';
$("input", this).val(value);
}
});
pourquoi voulez-vous stocker dans cinq variables??? vous avez .html de jquery qui obtient la totalité du code html..
Eh bien, j'ai juste besoin d'obtenir 5 valeurs séparées par ID. Désolé, si vous ne l'avez pas deviné, je suis nouveau sur ce genre de choses!
Eh bien, j'ai juste besoin d'obtenir 5 valeurs séparées par ID. Désolé, si vous ne l'avez pas deviné, je suis nouveau sur ce genre de choses!
OriginalL'auteur Chris Armstrong | 2010-12-04
Vous devez vous connecter pour publier un commentaire.
Créer un élément, cet élément avec
innerHTML
et les sélectionner avecquerySelector
.Donc, en supposant que vous vouliez l'utiliser juste un bon vieux js:
Qui se traduit presque directement dans jQuery:
Ah n'ai pas noté le jquery tag.
OriginalL'auteur Jakub Hampl
D'abord trouver les éléments puis saisir les données de chaque élément à l'aide d'une combinaison de attr() et texte() ou html().
Vous pouvez trouver les éléments en utilisant l'habitude sélecteur chaîne ou la chaîne brute que vous avez mentionné dans la question.
Dans mon exemple,
data
est un objet/dictionnaire pas un tableau.data.length
sera de retour indéfini.values(data)
retourne un tableau de valeurs. Vous pouvez aussi consulter lakeys(data)
. C'est la partie où vous avez besoin d'ajuster la mise en forme dedata
pour s'adapter à votre espace de problème ;^)merci, mais quand j'essaye de valeurs(données), les données.les valeurs de (), il vient encore comme indéfini. Quelque chose doit m'échapper...
Si vous ne l'avez pas déjà installé, sortir et installer Firebug pour Firefox. La console dans d'autres navigateurs fonctionne également, mais Firebug semble fonctionner le mieux pour moi. Ensuite, copiez et collez l'exemple de code dans la console. Mise à jour le
target_string
et de l'exécuter. Aussi, puisque vous êtes juste de commencer avec javascript, essayez de lire un sur la langue un peu. Douglas Crockford peut aider ici, javascript.crockford.com/code.htmlMerci, j'ai utiliser l'inspecteur de Chrome. Je vais balayer vers le haut sur mon JS!
OriginalL'auteur istruble
À l'aide de jQuery, découvrez texte()
NOTE cette obtiendrez le texte pour tous
span
tags sur la page. Si vous voulez faire une meilleure sélection et probablement attribuer cela à des variables dans une meilleure façon quesplit()
.OriginalL'auteur Jason McCreary
Utilisation de jQuery
.html
.OriginalL'auteur kobe