Deutsch

javascript - чёт не получается поменять ID

2517  
Vovan(ator) коренной житель01.01.22 16:59
Vovan(ator)
NEW 01.01.22 16:59 

Привет всем!

И с Новым Годом! glassglass


Вроде и не сильно отмечал, но почему-то одна (вроде как несложная мелочь) не хочет срабатывать. Я уже более сложное сделал, а тут похоже нужен коллективный разум.

Я хочу сделать на странице со многими статьями кнопку, которая открывает или закрывает определённые участки (читать далее / скрыть) кнопка.

На данный момент, всё работает, но так как кнопок много, они меняют своё описание все одновременно, а нужно, чтобы только та менялась, которая нажата.

Содержание открывается как нужно, именно в том участке, где кликаю. Но вот с подписью кнопки не могу договориться никак.


Вот часть кода, которая генерируется автоматом.

При помощи следующей строки, добавляю дополнительно класс „zzz“

$('div.readmore-box').toggleClass('ZZZ');

Получается: <div id="" class="readmore-box ZZZ">


Но вот ID никак не могу ни поменять, если он есть, ни добавить что-то дополнительно, ни внести новый ID, если его вообще нет в соде.


Выручайте!

Вот такое к примеру уже пробовал:

$('div.readmore-box').id = "newID";

Не помогает.

Другие варианты тоже пробовал, уже даже не помню какие именно (Гугль много чего напредлагал).

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

Я работаю с Firefox (актуальная версия)

#1 
NightWatch коренной житель01.01.22 20:31
NightWatch
01.01.22 20:31 
в ответ Vovan(ator) 01.01.22 16:59, Последний раз изменено 01.01.22 20:38 (NightWatch)
$('div.readmore-box').id = "newID";

У jQuery нет свойства id. Зато етсь функция attr: $('div.readmore-box').attr("id", "newId");

но так как кнопок много
Установка одинакового id на коллекцию элементов нарушает HTML-стандарт.

https://jsfiddle.net/fgn9zkxy/

#2 
Vovan(ator) коренной житель02.01.22 15:00
Vovan(ator)
NEW 02.01.22 15:00 
в ответ NightWatch 01.01.22 20:31
$('div.readmore-box').attr("id", "newId");

Что-то подобное и кучу другого я вчера перепробовал, и оно не работало :-(

Но вот это почему-то заработало up

Похоже я вчера всё-же был неработоспособен и чего-то пропустил или не заметил смущ

Спасибо огромное glass


Установка одинакового id на коллекцию элементов нарушает HTML-стандарт.

Это я знаю.

По этому и хочу прицепить динамическое ID на кнопку, чтобы их отличать одну от другой.


Моя идея - считать ID статьи (это получается без проблем) и присвоить его кнопке из этой статьи.

Сейчас попробую что получится и отраппортую.


#3 
Vovan(ator) коренной житель06.01.22 17:39
Vovan(ator)
NEW 06.01.22 17:39 
в ответ Vovan(ator) 02.01.22 15:00
Сейчас попробую что получится и отраппортую.

Всё руки не доходили, но сегодня сделал.

Нашёл вроде более простое решение, без ID.

$(jQuery(this).children("div:first")).replaceWith(label_2DE);


"label_2DE" - это переменная для подписи кнопки.


Остальной код в принципе индивидуальные хотелки для проверки и выдачи на разных языках и CSS для кнопки.

#4 
Татъяна посетитель25.05.22 17:59
NEW 25.05.22 17:59 
в ответ NightWatch 01.01.22 20:31

Здравствуйте. Я вообще не в теме, не из Вашего профсоюза. Зашла только из любопытства))) Какие есть действительно одарённые умные люди👍Для меня эти формулы или как это правильно назвать, просто как-будто хаотично по всем кнопкам нажимали))))))😄 Респект!

#5 
alex445 коренной житель09.07.22 20:29
09.07.22 20:29 
в ответ Татъяна 25.05.22 17:59

Да чего там программисты! Они ваще лохи по сравнению с чистыми математиками - у тех реально хаотично по кнопкам.

#6