2012-02-17 2 views
1

Как вы просто меняете текст «us-test» со значения ссылки ниже, без необходимости замены всей ссылки, текущий метод, который я использую, заменяет всю ссылку, я думаю, что делать с функцией .attr, я предполагаю, что могу достичь этого, используя .find или что-то еще, я действительно не знаю, как это сделать, может кто-то помочь мне в этом благодарении.jQuery заменить определенный текст с href

$(document).ready(function(){ 
$("#box1").click(function(){ 
$("a.mylink").attr("href", "http://google.com"); 
    }); 

$("#box2").click(function(){ 
    $("a.mylinktwo").attr("href", "http://yahoo.com"); 
}); 


<a class="mylink" href="http://google.com/en/get.php?chrome=us-test">Test</a> 
+0

Вы делаете это правильно, заменив цельные атрибут. – rkw

+0

, так что я думаю, я не могу заменить только тот текст, который я хочу, я спрашиваю об этом, потому что я собираюсь использовать кучу ссылок, и я скорее изменю текст таким образом, что будет меньше материала в файле ... это будет выглядят намного чище, чем 20 длинных ссылок. – donvitto

ответ

6

Это зависит от того, чего вы пытаетесь достичь. Я бы не советовал слишком много усложнять ситуацию, и если вы можете заранее знать, к какому URL идти, замена всего URL-адреса, вероятно, будет лучше всего и проще всего увидеть, что происходит.

Чтобы заменить части строки, метод replace() поможет.

var url = $('.mylink').attr('href') 
url = url.replace('us-test', 'replaced-text') 
$('.mylink').attr('href', url) 

Вы также можете передать регулярное выражение в качестве соответствующего аргумента.

+0

Спасибо, Роб, что я искал, один вопрос, что означает «$ ('. Mylink»). Attr (' href ', url) "do: b – donvitto

+0

, который устанавливает атрибут href для ссылки, которую вы пытаетесь Обновить. –

+0

ОК еще раз спасибо, Роб ... есть хороший. – donvitto

1

ли вы имеете в виду:

 

$(".mylink").click(function (e) { 
    e.preventDefault(); 
    var href = $(this).attr("href").replace(/us-test/, ""); 
    //or replace with something 
    var newHref = $(this).attr("href").replace(/us-test/, "somethingelse"); 
    $(this).attr("href", newHref); 
}); 
 
+0

это не работает – donvitto

+0

, похоже, работает для меня ...! См. Отредактированный код –

+0

ummm ... Я пытаюсь это сделать, и я не могу заставить его работать, я думаю, проблема в моем конце, спасибо anyways Sudhir ... – donvitto

1

использовать этот код:

$(document).ready(function() { 
var link = $('a').attr('href'); 
var equalPosition = link.indexOf('='); 

var sptext= link.substring(equalPosition + 1); 

var s=link.replace(sptext,"replaced-text"); 

    $('.mylink').attr('href', s); 




}); 

проверить это скрипку http://jsfiddle.net/W3pmu/1/ Надеюсь, что это помогает ...

+0

Спасибо Gopesh, что он помогает ... – donvitto

+0

ok ... Glad увидеть проблему ур решена. Хорошая удача donvitto – Gopesh

+0

Спасибо Гопешу и извините за мою орфографическую ошибку ... – donvitto

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