Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.08.2012, 21:15
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

Замена параметра
Пытаюсь найти все элементы по наличию в значении параметра, затем заменить это значение и поместить назад. Другими словами заменить все найденные значения. Относительные ссылки на прямые.
$('img[src^="../"]').attr('src', function (){
 var fsrc = $(this).replace('../','http://www.site.com/');
 alert(fsrc);
 return fsrc;
});
Ответить с цитированием
  #2 (permalink)  
Старый 05.08.2012, 21:56
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>


<div id=My>
<img src="/i/blank.gif"/>
<img src="./i/blank.gif"/>
<img src="../i/blank.gif"/>

<img src="http://lookatcode.com/i/blank.gif">
</div>

<script>
var N_Zmen=0;
$('img[src^="../"],img[src^="./"],img[src^="/"]').each(function (i){
 this.src = this.src;
 N_Zmen++;
 });
alert( N_Zmen+'\n'+$("#My").html())
</script>

Последний раз редактировалось Deff, 05.08.2012 в 22:00.
Ответить с цитированием
  #3 (permalink)  
Старый 06.08.2012, 09:02
Аспирант
Отправить личное сообщение для VitAl2013 Посмотреть профиль Найти все сообщения от VitAl2013
 
Регистрация: 27.05.2011
Сообщений: 67

Это работает только когда картинки и так загрузились. А как поступить если они по относительным ссылкам не загружаются и надо перецепить их явно, может даже на другой ресурс?
Такое получается из-за фреймов, относительный путь ведёт не туда, начинается белиберда.
P.S. мопед с фреймами не мой, я просто допиливаю

Победил, через:
this.src = this.src.replace('oldway','newway');


Вопрос: как такой же трюк провести с background для td?

То что удалось самому:
var N_Zmen2=0;
$('td[background^="../"]').each(function (e){
 $(this).attr('background',$(this).attr('background').replace('oldway','newway'));
 N_Zmen2++;
 });


По моему его можно сократить.

Последний раз редактировалось VitAl2013, 06.08.2012 в 09:29.
Ответить с цитированием
  #4 (permalink)  
Старый 06.08.2012, 12:04
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

$('td[background^="../"]').each(function (i){
 this.background=this.background.replace('oldway','newway');
alert(i)
 });
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает присвоение параметра объекту "images" (Только в IE) KoenigDesign Internet Explorer 3 27.06.2012 18:52
условие на два параметра virus-07 Javascript под браузер 5 23.01.2012 15:43
Регулярное выражение, замена ссылки к файлу на имя файла libinstyle Events/DOM/Window 2 19.07.2010 17:50
Извлечь значение параметра из location.search регулярным выражением? Бобр Общие вопросы Javascript 8 26.01.2010 01:01
Изменение параметра "ALT"("TITLE") тега IMG посредством DOM Гость Элементы интерфейса 3 21.02.2008 10:02