Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.12.2019, 13:05
Новичок на форуме
Отправить личное сообщение для Armire Посмотреть профиль Найти все сообщения от Armire
 
Регистрация: 16.12.2019
Сообщений: 1

Настройка подмены контента на странице
Добрый день! Такой вопрос: на сайте нужно настроить подмену почтовых адресов в зависимости от источника посетителя (тем кто приходит с органического поиска - одна почта, тем кто с рекламы - другая, и т.д.).

В интернете нашел простое рабочее решение данной задачи (скрипт sourcebuster). Но, есть один вопрос. Сам я в javascript не разбираюсь вообще. Настраивал все по инструкции (ссылку могу скинуть на нее).

Вопрос в следующем: подмена нужного элемента (в данном случае почтовый адрес на странице) происходит по адресу селектора, что не очень удобно если идентичных элементов на сайте много. Например, вот так выглядит текущий код сейчас:

<script>
if ( sbjs.get.current.src === "direct_search") {

jQuery('#block-append-1 > div > div > div.block-append-text > div.block-append-text-left > div.mail-icon > a').replaceWith('<a href="mailto:test@test.ru">test@test.ru</a>');

jQuery('body > div.con-box > div > div.content > div.block-append-1 > div > div.block-append-text > div.block-append-text-left > div.mail-icon > a').replaceWith('<a href="mailto:test@test.ru">test@test.ru</a>');
  
jQuery('#block-append-1 > div > div > div.block-append-text > div.block-append-text-left > div.mail-icon').replaceWith('<div class="mail-icon"><a href="mailto:test@test.ru">test@test.ru</a></div>');

jQuery('body > div.con-box > div > div.content > table:nth-child(5) > tbody > tr:nth-child(3) > td:nth-child(2) > p > a').replaceWith('<a href="mailto:test@test.ru">test@test.ru</a>');
  
jQuery('body > div.con-box > div > div.content > table:nth-child(27) > tbody > tr > td:nth-child(1) > table > tbody > tr:nth-child(4) > td:nth-child(2) > p > a').replaceWith('<a href="mailto:test@test.ru">test@test.ru</a>');
  
jQuery('body > div.con-box > div > div.content > table:nth-child(27) > tbody > tr > td:nth-child(2) > table > tbody > tr:nth-child(2) > td:nth-child(2) > p > a').replaceWith('<a href="mailto:test@test.ru">test@test.ru</a>');  
  
jQuery('body > div.con-box > div > div.content > ul:nth-child(13) > li:nth-child(2) > span > a  ').replaceWith('<a href="mailto:test@test.ru">test@test.ru</a>');    
  
jQuery('body > div.con-box > div > div.content > ul:nth-child(26) > li:nth-child(2) > span > a').replaceWith('<a href="mailto:test@test.ru">test@test.ru</a>');   
  
jQuery('body > div.con-box > div > div.content > ul:nth-child(38) > li:nth-child(2) > span > a').replaceWith('<a href="mailto:test@test.ru">test@test.ru</a>');
  
jQuery('body > div.con-box > div > div.content > ul:nth-child(50) > li:nth-child(2) > span > a').replaceWith('<a href="mailto:test@test.ru">test@test.ru</a>');  
}
</script>


Каждый почтый адрес, который нужно подменять - прописан в данном коде (адрес его селектора). Это не удобно, т.к. если нужно настроить подмену для еще одного адреса, его (адрес его селектора) нужно прописывать в данном коде. Гораздо удобнее бы было настроить подмену, например, через тег div, указав скрипту делать подмену всех элементов, которые обернуты данным тегом. Например, все почтовые адреса на сайте обернуты в тег: div class="podmena"

Как настроить подмену по тегу div, а не адресу селектора? Как должен выглядеть код?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
За деньги: Кто напишет скрипт подмены контента для мобильных? paradox989 Мобильный JavaScript 2 14.08.2015 17:56
Настройка кнопок для прокрутки контента Silence Общие вопросы Javascript 4 09.07.2014 00:42
Динамическое отображение контента на 2ой странице, в зависимости от выбора на 1ой Volchen0ck Events/DOM/Window 2 14.05.2014 16:01
скрипт смены контента на странице bolton Элементы интерфейса 1 25.01.2012 01:58
Защита контента на странице Freyaa Элементы интерфейса 11 09.10.2009 09:00