Je me demande si quelqu'un peut aider avec un problème jQuery que j'ai. J'utilise les infobulles de la bibliothèque Jquery Tools pour créer une fenêtre contextuelle lorsque vous passez la souris sur une image hrefed, ce que je veux utiliser pour cusomiser l'appel pour changer le contenu dans la DIV.Obtenir de la valeur de href en utilisant jQuery
Les liens que je me sers sont sous la forme:
<a href="/venue/1313.htm" class="quickView"><img src="/images/site/quickView83.png" alt="Quick View" width="83" height="20" /></a>
Le code que je utilise pour déclencher la pointe est:
$(".quickView").live('mouseover', function()
{
if (!$(this).data('init'))
{
$(this).data('init', true);
ajax_quickView();
$(this).tooltip
({
/* tooltip configuration goes here */
tip: "#quickViewWindow",
position: "right",
offset: [0, -300],
effect: 'slide'
});
$(this).trigger('mouseover');
}
});
J'ai essayé la fonction suivante pour saisir l'ID (dans l'exemple ci-dessus, 1313) à partir du lien:
function ajax_quickView(){
var pageNum = $("a.quickView").attr("href").match(/venue/([0-9]+)/).htm[1];
$("#quickViewWindow").load("/quick-view/", function(){})
}
Cependant, je pense que c'est là où il tombe, je pense que mon regex est prob à blâmer ...
Une fois que je reçois le pageNum var je suppose que je peux passer dans le .load comme:
$("#quickViewWindow").load("/quick-view/", {id : pageNum }, function(){})
Un grand merci
Merci, ont changé cela. Cependant, il ne semble que sélectionner le premier lien sur la page, indépendamment de celui sur lequel je passe la souris. Dois-je ajouter quelque chose pour utiliser le lien mouseover? –
@bateman_ap: C'est parce que vous utilisez un sélecteur dans la fonction jQuery, qui retournera une liste d'éléments et récupèrera l'attribut 'href' pour le premier de cette liste. Dans votre gestionnaire 'mouseover', vous devez passer une référence à' this', par ex. 'ajax_quickView (this)', et utilise cette référence au lieu d'un sélecteur. –
Désolé, une dernière question. J'ai utilisé ajax_quickView (this); dans mon code, si j'utilise alert (this); alors tout semble bien, il montre l'URL correcte. Cependant dans ma fonction j'utilise fonction ajax_quickView (pageUrl) { var pageNum = pageUrl.match (/ lieu \/([0-9] +). Htm /) [1]; $ ("# quickViewWindow") de charge. ("/ Quick view /", {uid: pageNum}, function() {})} ce Présumé est faux que je suis obtenir: pageUrl.match est pas une fonction –