2010-04-12 6 views
0

J'essaie de faire en sorte que jquery prenne une variable que je définis et que je rencontre des problèmes.Variable de texte Jquery

$.ajax({ 
url: "sitemap.php", 
cache: false, 
success: function(html){ 
    $("#results").append(html); 
     var $seriestitle = $("#define-title").text(); 
    $('#results a:contains("$seriestitle")').addClass('current-series'); 
    $('a:not(".current-series")').hide(); 
} 
}); 

C'est le code que je utilise. Vous pouvez voir la page à l'adresse suivante:

http://benjammindesigns.com/XML/details/1231.html

Il y a une période sur la page, avec l'ID « define-titre », qui contient du texte. J'essaie d'extraire le texte de cette période et de l'utiliser comme variable.

Toute information est grandement appréciée.

+1

En fait, le préfixe '$' est (par convention) réservé aux variables qui contiennent des objets jQuery. Ce devrait être 'var seriestitle = $ (" # define-title "). Text();', puisque 'text()' ne retourne pas un objet jQuery. – Tomalak

Répondre

3

vous voulez ceci:

var $seriestitle = $("#define-title").text(); 
$('#results a:contains("'+$seriestitle+'")').addClass('current-series'); 
+0

Génial, fonctionne parfaitement. Merci, mkoryak Juste pour approfondir ma compréhension, ce qui provoque le besoin des «signes plus» et des citations supplémentaires de chaque côté? – Batfan

+0

@Batfan: JavaScript ne fait pas d'interpolation de variable comme le fait PHP. Ne laissez pas l'option '$' dans le nom de la variable vous tromper. – Tomalak

+0

@Tomalak Termes de Layman, s'il vous plaît :) – Batfan

1
$('#results a:contains("'+$seriestitle+'")').addClass('current-series'); 
1

Le span que vous essayez d'utiliser est dans le head de votre document. Déplacez-le au body.