0 votes

Comment obtenir un sous-ensemble de chaîne de caractères en utilisant Javascript/JQuery/JSON ?

Je veux obtenir un sous-ensemble d'une chaîne en Javascript. Actuellement, je sais seulement comment stocker la chaîne entière :

J'ai ceci comme une variable JSON avec un appel à foo :

foo({"results":[
"<div id=\"following\"><span><a href=\"http://twitter.com/barackobama\">Obama</a></span></div>"
]})

Et voici ma fonction de rappel :

function foo(o){
  var entireDiv = o.results[0];
}

How do I store just the "< a href = ... > ... < / a> " en tant que chaîne de caractères en Javascript ?

4voto

Peter Boughton Points 49510

Avec jQuery, vous pouvez analyser un morceau de HTML comme deuxième argument.

Donc, pour mettre à jour votre foo fonction :

$j = jQuery.noConflict();

function foo(o)
{
    var JustTheLink = $j( 'a' , o.results[0] ).parent().html();
}

Mise à jour :
Avec plusieurs liens à gérer, vous pouvez le faire :

function foo(o)
{
    $j('a',o.results[0]).each(handleSrc);
}

function handleSrc()
{
    console.log(this); // tag
    console.log($j(this).html()); // contents
}

2voto

Guffa Points 308133

Vous pouvez utiliser une expression régulière pour trouver la balise d'ancrage :

function foo(o){
  var entireDiv = o.results[0];
  var link = /<a.+?\/a>/.exec(entireDiv)[0];
}

0voto

user144049 Points 181
var link = entireDiv.match(/<a[^>]*>.*<\/a>/);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X