2013-05-01 2 views
-1

В настоящее время я использую Javascript для замены небольшой части любой ссылки, которая имеет сходство с доменом (ex: othersite.com) Я хочу знать, как я могу сделать тот же эффект, но в JQUERY. Является ли это возможным? Я просто хочу изменить небольшую часть, не затрагивая остальную часть ссылки. Как я могу получить этот же результат в JQuery (используя JQuery)? Надеюсь, кто-то может помочь, спасибо.Могу ли я получить тот же результат с помощью JQUERY?

Это мой код JavaScript:

 

    function changetext(){ 
    var id = "JOSH"; 
    var link = document.getElementsByTagName('a'); 
    var i = link.length; 
    while(i--){ 
     var lnk = link[i].href; 
     if (lnk.match("othersite.com")) { 
      link[i].href = lnk.replace(/name=[^&]*/g, 'name='+id); 
     } 
    } 
} 
changetext(); 

..

<a href="http://www.othersite.com/?name=susan1&last=3">Text</a> 
<a href="http://www.othersite.com/?name=PAtrIck01&lat=6">Text</a> 
<a href="http://www.othersite.com/?name=1Smith&lat=49">Text</a> 

Использование эффекта Javascript, заключается в следующем:

<a href="http://www.othersite.com/?name=JOSH&last=3">Text</a> 
<a href="http://www.othersite.com/?name=JOSH&lat=6">Text</a> 
<a href="http://www.othersite.com/?name=JOSH&lat=49">Text</a> 

Как я могу иметь тот же самый результат в Jquery (используя JQuery)? ...... спасибо.

+0

Почему именно вы хотите переключиться на использование jQuery для этого кода? способ, которым он в настоящее время, должен быть гораздо более эффективным, чем использование jQuery, и читать его не так уж сложно. –

ответ

1
function changetext(){ 
    var id = "JOSH"; 

    $('a').each(function() { 
     if ($(this).attr("href").match("othersite.com")) { 
      var newValue = $(this).attr("href").replace(/name=[^&]*/g, 'name='+id); 
      $(this).attr("href", newValue); 
     } 
    }); 
} 
$(document).on('ready', changeText); 

Это должно сделать то же самое. Here's a jsFiddle example.

+0

Hi Bruno, Я пытаюсь проверить код, который вы мне дали, , но, видимо, не изменил ссылки. Я делаю что-то неправильно? .. Я новичок в JQuery, извиняюсь. Что я делаю неправильно? Ссылка: http://www.my-xio.info/demo.html – Josh

+0

Я не верю, что на самом деле будет назначать измененное значение 'href' обратно элементу. Вам нужно будет обернуть эту строку с помощью '$ (this) .attr ('href', );'. См. Http://jsfiddle.net/sRdCM/ – Travesty3

+0

@ Travesty3 благодарит за право ... – Bruno

Смежные вопросы