2013-03-10 2 views
0

новый jQuery и не может найти ответа, независимо от того, насколько сильно я Google.присвоение значения переменной с .attr

Возможно, я ошибаюсь, но это как можно ближе к тому, что я нашел, но это совсем не работает. Я пытаюсь взять все теги привязки с значением href, начинающимся с «/ ric», которые являются локальными ссылками, а затем добавлять в начало отсутствующую информацию о домене.

По какой-то причине он не позволяет мне установить значение originalHref вообще (или, кажется, попытался отладить с помощью «alert (originalHref);» после объявления переменной и я ничего не получил) ,

$('a[href^="/ric"]').each(function(){ 
     var originalHref = $(this).attr("href"); 
     this.href = this.href.replace(href, 'http://www.test.com' + originalHref); 
    }; 
}); 
+1

Почему вы не делаете '$ (this) .attr (" href ", 'http://www.test.com' + originalHref);'? – Mahn

ответ

0
$(this).attr('href','http://www.test.com'+$(this).attr('href')); 

Синтаксис;

$(selector).attr(attribute,value); 

он будет работать

1

это то, что вы ищете:

$(this).attr('href','http://www.test.com'+originalHerf); 

можно удалить строку, выполнив вместо этого:

$(this).attr('href','http://www.test.com'+$(this).attr('href')); 
+0

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

+0

@ user2153957 Это странно ... попробуйте это, чтобы увидеть, является ли URL-адрес действительным URL: 'console.log ('http: //www.test.com'+$ (' a [href^="/ric "] ') .attr (' href '); ' – sourRaspberri

1
$('a[href^="/ric"]').each(function(){ 
    $(this).attr('href', 'http://www.test.com' + $(this).attr('href')); 
}); 
0

Используйте этот параметр:

$('a[href^="/ric"]').attr("href", function(){ 
    return ('http://www.test.com' + $(this).attr('href')); 
}); 

Sample

+0

Я пробовал эту строку для линии, и когда ссылки нажимаются, она все же пытается открыть ссылки локально, вместо того, чтобы добавлять« http://www.test.com », чтобы правильно их открыть. Любые другие мысли о том, что здесь может быть неправильным? – user2153957

+0

Что вы местный url ..? Вы пробовали вести журнал: '' http://www.test.com '+ $ (' a [href^= "/ ric"] '). Attr (' href ') ' , чтобы узнать, что произойдет .. .? – Anujith

+0

Я использую sharepoint для доступа к контенту из своих компаний intweb, однако все ссылки на этом контенте являются локальными, поэтому, когда я нажимаю на них внутри sharepoint, они пытаются открыть как <'https: //appservicesstd.wss. bank.com/ric ... '>, и мне нужно, чтобы они открывались как <' http: //rcbpt.bank.com/ric ... '> – user2153957

0

Селектор JQuery для HREF =^будет искать только элементы, которые начинаются с/РИК в URL.

Если у вас есть URL-адрес www.google.com/ric, который не будет соответствовать селектору и не изменит атрибут href с помощью приведенного выше jQuery.

Обратите внимание, что ответы, которые были даны все работы, основанные на HREF, начиная с/RIC

Если посмотреть исходный код страницы и найти якорный тег, который вы пытаетесь изменить и проверить HREF атрибута. Имеет ли он относительный ('/ ric') или абсолютный ('https://appservicesstd.wss.bank.com/ric') URL?

0
$(this).attr('href','http://www.test.com',$(this).attr('href')); 

Его мой тестовый код:

<script type="text/javascript"> 
     $(function(){ 
      $('button').click(function(){ 
       var text = $('.qwerty').html(); 
      }); 
     $(".qwerty1").attr('dir',$('.qwerty').html()); 
     }); 

     </script> 
     <div class="qwerty">123</div> 
     <div class="qwerty1" dir=""></div> 

Я надеюсь, что я помог тебе.