Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 01.01.2017
Сообщений: 15

Как обратиться к блоку, не используя ById и ClassName

09.06.2019, 12:23. Показов 691. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, нужно убрать id с кнопок, та и не только с кнопок, но я к ним таким образом обращался, можно ли как-то обратиться к this.createTableElement в методе paintCube() ? Что бы в методе unvisibleDelButton() не юзать getElementById.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
paintCube() { //Начальная отрисовка квадрата
        let add = document.createElement('div');
        add.id = 'top_block';
        add.addEventListener('mouseleave', () => {this.unvisibleDelButtonTimer();});
        document.body.appendChild(add);
        for (let i = 0; i < this.rows; i++) {
            let neededRow = document.createElement('div');
            neededRow.id = 'row' + (i + 1);
            add.appendChild(neededRow);
            for (let j = 0; j < this.column; j++) {
                this.createBlockElement('div', 'size-block block', neededRow, i, j);
            }
        }
        this.createTableElement('button', 'size-block buttons add', 'click', () => { this.addRowButton(); }, 'add_c', '+', add);
        this.createTableElement('button', 'size-block buttons add', 'click', () => { this.addColumnButton(); }, 'add_r', '+', add);
        this.createTableElement('button', 'size-block buttons del', 'click', () => { this.delColumnButton(); }, 'del_c', '-', add);
        this.createTableElement('button', 'size-block buttons del', 'click', () => { this.delRowButton(); }, 'del_r', '-', add);
    }
    createTableElement(elementType, className, eventName, handler, idButton, value, add) {
        const addButton = document.createElement(elementType);
        addButton.className = className;
        addButton.id = idButton;
        addButton.innerHTML = value;
        addButton.addEventListener(eventName, handler, false)
        add.appendChild(addButton);
    }
unvisibleDelButton(){
        let delRow = document.getElementById('del_r');
        delRow.style.display = 'none';
        let delColumn = document.getElementById('del_c');
        delColumn.style.display = 'none';
    }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.06.2019, 12:23
Ответы с готовыми решениями:

Как обратиться к блоку, который в поле видимости?
Здравствуйте. Хочу реализовать появление блоков при прокрутке через GSAP. Подскажите, как можно обратиться к блокам, которые находится в...

Как обратиться к первому по парядку блоку div?
У меня есть код, примерно следующего типа &lt;div id=&quot;block&quot;&gt; &lt;div class=&quot;myclass&quot;&gt;&lt;/div&gt; &lt;div...

В чем разница между ClassName cn и ClassName cn = new ClassName()?
Добрый день! Собственно вопрос в заголовке темы. Будьте добры расскажите пожалуйста в чем между ними разница.

4
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
09.06.2019, 12:39
вы что именно хотите сделать? убрать id со всех кнопок?
0
0 / 0 / 0
Регистрация: 01.01.2017
Сообщений: 15
09.06.2019, 16:36  [ТС]
Цитата Сообщение от server_net Посмотреть сообщение
вы что именно хотите сделать? убрать id со всех кнопок?
Да, мне нужно обратиться к созданному елементу внутри класса, не добавляя ему для этого id.
0
68 / 60 / 10
Регистрация: 07.03.2019
Сообщений: 657
09.06.2019, 22:35
Цитата Сообщение от Max_Maxim Посмотреть сообщение
мне нужно обратиться к созданному елементу внутри класс
Так используй querySelector()
0
0 / 0 / 0
Регистрация: 01.01.2017
Сообщений: 15
10.06.2019, 22:52  [ТС]
Здравствуйте, у меня стоит задача избавиться от всех id в проекте, в методе createTableElement() я создаю нужные мне кнопки и мне нужно передать значение переменной addButton из метода createTableElement() в метод unvisibleDelButton(), что бы заменить строку "et delColumn = document.getElementById('del_c');". К примеру, я в метод unvisibleDelButtonTimer() передаю значение переменной add, вот по этой аналогии мне и нужно это сделать. Но как это все реализовать далее....
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
paintCube() { //Начальная отрисовка квадрата
        let add = document.createElement('div');
        add.className = 'mean_block';
        add.addEventListener('mouseleave', () => {this.unvisibleDelButtonTimer(add);});
        document.body.appendChild(add);
        this.createTableElement('button', 'size-block buttons add add_c', () => { this.addRowButton(add); }, '+', add);
        this.createTableElement('button', 'size-block buttons add add_r', () => { this.addColumnButton(add); }, '+', add);
        this.createTableElement('button', 'size-block buttons del del_c', () => { this.delColumnButton(add); }, '-', add);
        this.createTableElement('button', 'size-block buttons del del_r', () => { this.delRowButton(add); }, '-', add);
        for (let i = 0; i < this.rows; i++) {
            let neededRow = document.createElement('div');
            add.appendChild(neededRow);
            for (let j = 0; j < this.column; j++) {
                this.createBlockElement('div', 'size-block block', neededRow, i, j);
            }
        }
    }
    createBlockElement(elementType, className, neededRow, positionX, positionY) {
        let addBlock = document.createElement(elementType);
        addBlock.className = className;
        neededRow.appendChild(addBlock);
    }
    createTableElement(elementType, className, handler, value, add) {
        let addButton = document.createElement(elementType);
        addButton.className = className;
        addButton.innerHTML = value;
        addButton.addEventListener('click', handler, false);  
        add.appendChild(addButton);
    }
    unvisibleDelButtonTimer(add){
        let timerId = setTimeout(this.unvisibleDelButton, 100);
        add.addEventListener('mouseenter', () => {clearTimeout(timerId);});
    }
    unvisibleDelButton(){
        let delColumn = document.getElementById('del_c');
        delColumn.style.display = 'none';
    }
 Комментарий модератора 

Правила форума

4. Порядок создания тем.
4.4 На каждый вопрос создавайте по одной теме - это помогает избежать путаницы в ответах и облегчает поиск.
4.13 Если на ваш вопрос долгое время нет ответа, уточните его, приведите дополнительные сведения, которые могут помочь участникам форума решить вашу проблему.
4.14 Чтобы "поднять" тему в разделе и поиске по форуму, используйте осмысленные сообщения, например "Тема/проблема/задача актуальна". Если вы чего-то достигли в решении проблемы на этот момент, сообщите об этом.

5. Запреты и ограничения.
5.5 Запрещено размещать тему в нескольких подразделах одного раздела одновременно (кросспостинг), а также дублировать тему в одном разделе.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.06.2019, 22:52
Помогаю со студенческими работами здесь

Очередная ошибка LNK2019: ссылка на неразрешенный внешний символ "public: __cdecl ClassName::ClassName(void)"
Всем привет, по форуму нашёл очень много таких тем, но ни одна конкретно в моём случае не помогла, буду рад любому совету. У меня есть...

Как обратиться к неиндексированной переменной используя цикл?
Всем здравствуйте. Есть 5 вешественных переменных, одинаково начинающихся и заканчивающихся цифрами 0,1,2,3,4: Dim value0 As...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru