Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как написать скрипт, который будет применять target ко всем class?

Дмитрий А Ученик (68), на голосовании 8 месяцев назад
Если что, я не разработчик, за код сильно не шарю, поэтому заранее извиняюсь.
Собственно суть вопроса: на сайте есть корзина, при клике на товар в ней - открывается окно с товаром в новой вкладке. Нужно сделать, чтобы открывалось в этой же. Здесь мне подсказали, что стоит копать в сторону target. Я посмотрел, понял как он работает, но проблема в том, что товар в корзине - это постоянно меняющийся элемент. То есть нужно делать не конкретно к этому товару, а конкретно к class в котором он находится.

Если кто-то знает, как написать такой скрипт, то буду признателен. Еще есть загвоздка, что там сразу несколько классов. Код div прикрепляю ниже.

 

Платье миди на бретелях

Размер: S-M
Цвет: Розовый: Розовый


ss23-02

Голосование за лучший ответ
enddes- Гуру (3281) 9 месяцев назад
Для решения вашей задачи, вам потребуется использовать JavaScript для изменения атрибута target у ссылок в корзине. Вот пример скрипта, который вы можете использовать:

 // Находим все ссылки в корзине 
var links = document.querySelectorAll('.t706__product-title a');

// Проходимся по каждой ссылке и изменяем атрибут target
for (var i = 0; i < links.length; i++) {
links[i].setAttribute('target', '_self');
}
Этот скрипт будет искать все ссылки с классом t706__product-title внутри элемента с классом t706__product-title и изменять атрибут target на _self, что означает, что ссылки будут открываться в текущей вкладке.

Вы можете вставить этот скрипт в тег <script> на вашей странице или в отдельный файл JavaScript, который будет подключаться к вашей странице.
Дмитрий АУченик (68) 9 месяцев назад
Боже, спасибо вам огромное! Очень помогли)
Дмитрий А, То же самое, но короче:
 document.querySelectorAll('.t706__product-title a').forEach((e) => {
    e.setAttribute('target', '_self')
}) 
Странно что то что я написал не работало, потому что по идее разницы нет, да и я проверял в консоли... Магия какая то...
Похожие вопросы