Prenez une section à partir d’une URL et ajoutez-y un lien à l’aide de jQuery

C’est un peu au-delà de mes capacités, mais ce que j’essaie de faire est de prendre une section à partir d’une URL et de l’append à un lien href.

Print this page 

Ceci relie à une conception ‘Imprimer uniquement la page’ dans un CMS que nous utilisons

Exemple de section à laquelle je tente d’append après l’URL initiale

  course_cd=802AA&version_number=5& 

Alors je me retrouve avec

  Print this page 

Comme vous pouvez le voir, la section que je veux append se situe entre le ‘?’ et le SQ_DESIGN_NAME = print

J’espère que cela a du sens Merci d’avance

 var toAdd = 'course_cd=802AA&version_number=5&' var aElm = $('a[href="http://www.mysite.com.au/?SQ_DESIGN_NAME=print"]')[0]; //an ID would do wonders aElm.href = aElm.href.split('?')[0]+'somepage/course?'+toAdd+'SQ_DESIGN_NAME=print'; 

VIOLON

Et il vous manque une citation dans l’atsortingbut href.

Ajoutez un atsortingbut id à votre ancre:

 Print this page 

Puis le jQuery:

 var section = 'scourse_cd=802AA&version_number=5&'; var p = $("#print"), ph = p.attr("href"); p.attr("href",ph.replace(/(SQ_DESIGN_NAME)/i,section+'$1'));​​ 

Mise à jour: pour extraire les parameters de chaîne de requête :

 var link = 'http://some.com/?param=value&param2=value2'; var section = link.split('?')[1];​​​​​ 

http://jsfiddle.net/4eqxe/

Utilisez ceci pour définir le nouveau href sur votre lien, vous pouvez également utiliser .prop() au lieu de .attr() si vous utilisez des versions modernes de jQuery.

 var v = 'course_cd=802AA&version_number=5&'; $('a').attr('href', $('a').attr('href').split('?')[0] + 'somepage/course?' + v); 

Imprimez votre nouvel href juste pour tester:

 console.log('modified link is: ' + $('a').attr('href'));​ 

enfin compris mon problème. Merci à tous ceux qui m’ont donné de leur temps

  $(document).ready(function() { var path = window.location.pathname; var query = window.location.search; $('a#print').attr('href', path + query + '&SQ_DESIGN_NAME=print'); });