• Как заменить getElementById на класс?

    artloveyou
    @artloveyou
    WbICHA, не всегда так, кстати, я например помню как бывало тупил конкретно на том, что теперь кажется очевидным. У меня сегодня акция -- причинить добро. Он под неё попал)
  • Как заменить getElementById на класс?

    artloveyou
    @artloveyou
    bulkmaker, тогда вот тут у парента можно выбирать, если уже выбрал парента
    const elems = elemsparent.querySelectorAll('.product__image-small'), только теперь не понятно зачем сначала парентов выбирать, опиши задачу. Я её пока так понял: есть несколько элементов с одинаковым классом, прин клике по любому из них вызываем функцию. Так?

    const elemsparents = document.querySelectorAll('.product__imagewrapper')
      elemsparents.forEach((elemsparent) => {
        const elems = elemsparent.querySelectorAll('.product__image-small')
          elems.forEach((elem) => {
            elem.onclick = function () {
            alert('Спасибо');
        };
     })
    })
  • Как заменить getElementById на класс?

    artloveyou
    @artloveyou
    Смотри, тут принцип такой: не надо вызывать onclick="myFunction(this);" в каждом элементе, надо собрать все необходимые элементы const elems = document.querySelectorAll('.product__image-small') и для каждого элемента по необходимости делать то что надо по клику
    elem.onclick = function(){
            expandImg.src = imgs.src;
            expandImg.parentElement.style.display = "block";
    }


    Пример
  • Как заменить getElementById на класс?

    artloveyou
    @artloveyou
    const elems = document.querySelectorAll('.product__image-small')
    elems.forEach((elem) => {
        elem.onclick = function() {
        alert('Спасибо');
      };
    })


    а эти onclick="myFunction(this); из html поубирай
  • Как заменить getElementById на класс?

    artloveyou
    @artloveyou
    document.querySelectorAll() тогда, а потом forEach() для всех найденных
  • Периодически не отображается фоновая картинка на ipad и iphon?

    artloveyou
    @artloveyou
    Вам стоит показать код, как вы её выводите на странице.
  • Как вывести итальянский в php?

    artloveyou
    @artloveyou
    Вы имеете право на свое мнение, вне сомнений, я привел ровно тот участок кода, который помог мне разобраться, когда была ровно такая же проблема у меня, не более того. Он не для продакшена, он для понимания в каких местах в связке php и mysql устанавливаются нужные кодировки. Да он у меня в консоли выполнялся и что?

    Ведь лучше один раз увидеть, чем сто раз услышать: выставь нужные кодировки.

    Да и сообщения для того, чтобы человек увидел: подключился ли он к базе, какая у него стоит кодировка, какую он выставляет. И все эти знания в одном маленьком файлике на коленке -- это ли не чудо?

    К сожалению, я ограничен в количестве комментариев, поэтому только так могу ответить:
    это чудо называется говнокод.
    вот из-за таких чудес программисты и презирают РНР . прекрасный язык сам по себе, но встретить код на нём, от которого бы не тошнило - практически нереально


    Роман Юрьевич Ипатьев, вы видимо сегодня не с той ноги встали, вы разницу между кодом в проде и быстрым способом вникнуть в суть кодировок видите. Поясняю разницу: когда мне не важен код, а просто надо посмотреть кодировку я сделаю любым доступным мне способом, на коленке, сотру код и пойду в свой проектик на фрейморчике с пониманием откуда ноги растут у кодировок. Я к слову так и сделал. Представляешь, Роман Юрьевич, благодаря говнокоду понял суть, как тебе такое Илон Маск. Ну и критикуя предлагай: яви уже миру то же самое на языке ангелов php, чо уж секретничать
  • Как правильно вызывать функцию?

    artloveyou
    @artloveyou
    Тоже интересно, не на всех проектах функций много и иногда достаточно слить всё в один файл. Пока юзаю такой варик
    document.addEventListener('DOMContentLoaded', function () {
        const elem = document.querySelector('.elem');
       if (elem) {
             ...
       }
  • Принимает ли Freekassa валюту CHF?

    artloveyou
    @artloveyou
    youmixx, может не отдать вам деньги, в остальном всё ок, пользуются в основном русскоязычные ресурсы и не особо разбирающиеся в транзакциях обычно владельцы сайтов
  • Нормально ли воспринимают яндекс и гугл 301 редирект?

    artloveyou
    @artloveyou
    Илья, каждая из 500 не должна редиректиться больше одного раза
  • Входит ли в веб-разработку анимация для сайта?

    artloveyou
    @artloveyou
    Если анимация на js (банеры, персонажи, иллюстрации svg тд) то вебразработка, а если анимация в отдельном анимационном редакторе с результатом в виде готового встраиваемого на сайт объекта (гифка, видео и тд) - то уже не веб-разработка.

    Заказчику на самом деле не важно, как ты (@Tesai) это сделаешь, обычно важен результат. Отталкиваясь от результата, выбираешь инструмент для решения, оцениваешь скиллы -> выдаешь смету.
  • AnyPay/Payok/FreeKassa + Discord?

    artloveyou
    @artloveyou
    Помогаю -> FreeKassa -> БЕГN
    С остальными можно работать
  • Возможно ли создать копию store для одного и того же компонента с разными id?

    artloveyou
    @artloveyou Автор вопроса
    Не клонировать экземпляр класса vuex, а клонировать объект, который ты передаешь в класс

    Сергей Левченко, [vuex] module namespace not found in mapGetters()

    Как решение гуглится это
    export default {
        namespaced: true, <--- но у меня так и указано
    
        state,
        mutations,
        actions,
        getters,
    };


    Цель простая: есть статьи в них вставляются шоткоды, потом всё это парсится и на место шоткодов вставляются vue apps (пока так, потому что не весь фронт на vue, а только эти шоткоды). Сами vue apps состоят из двух-трёх компонентов с кучей расчетов, подключением к сокетам и к api (каждый разбит на три компонента: index, init и result), ну и чтобы не гонять из инит в результ по пропсам данные, запилил на сторе. Пока была необходимость по одному такому шоткоду (один одного вида) на статью выводить всё норм, а как понадобилась возможность вывести два одинаковых шоткода с разными входными параметрами пришлось пересматривать всё это дело. Пока вот пересматриваю в сторону: отказаться от стор и в дату всё перенести. Точнее уже переписываю.

    Я не хочу давать готовый ответ, я хочу помочь разобраться/научится.

    За это спасибо, подтянул знания.
  • Возможно ли создать копию store для одного и того же компонента с разными id?

    artloveyou
    @artloveyou Автор вопроса
    Сам отвечу: такого способа клонировать нет. И зависит это не от знания js, а от знания фреймворка. Store - единственный источник истины получается. В моем случае просто перенесу из store в data.
  • Возможно ли создать копию store для одного и того же компонента с разными id?

    artloveyou
    @artloveyou Автор вопроса
    Сергей Левченко, тогда клон мог бы выглядеть так const clone = Object.assign(Object.create(Object.getPrototypeOf(store)), store);
    но это тоже не работает. Как и через JSON.parse(JSON.stringify(instance));

    Итого, проведя пару дней в поисках я пока пришёл только к такому:

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

    Если существуют круговые ссылки на объекты, например, родитель на ребенка и ребенок на родителя, все становится еще сложнее.

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

    В качестве другого примера, конструктор может создавать закрытые объекты (с доступом к приватной информации), которые невозможно продублировать извне.

    Еще один пример: конструктор может привязать к своему экземпляру методы, о которых общий клон даже не подозревает.

    Лучший способ клонировать объект - это код, встроенный в реализацию объекта, который знает, как клонировать себя, например, добавить метод .clone() (или назвать его как угодно) в сам объект, и заставить объект поддерживать создание дубликата самого себя. Тогда он сможет правильно поступать с любыми данными экземпляра, которые только сама реализация объекта может знать, как обрабатывать все возможные типы данных экземпляра.

    У меня пока складывается впечатление, что store не клонировать.
  • Возможно ли создать копию store для одного и того же компонента с разными id?

    artloveyou
    @artloveyou Автор вопроса
    const f = (a,b) => a+b;
    const obj1 = { f };
    const obj2 = Object.assign({}, obj1);


    Сергей Левченко, пока не знаю, теперь узнаю, но за фреймворки нужно браться вне зависимости от того знаю ли я всё на зубок от корки до корки в языке или нет. Мой стек php + js + vue. Я и на php до сих пор для себя открываю новые функции и подходы, несмотря на то, что начал на нём писать до появления Symfony, Laravel, Yii etc.

    Очень уж ваше заявление не согласуется с реальностью -- сначала всё выучить (в любом языке, где выкатывают чуть ли не каждый год новую версию) и только потом пойти с "чёрным поясом" взяться за фреймворк.

    Не думаю что так это работает в реальном мире, иначе бы и https://qna.habr.com/ не нужен бы был. Все б ученые ходили.