Защо remove("btn") който очаквам да премахне класа btn от елемента temp[0] премахва и самият елемент от масива?
synergie
Създадено на 23.09.2020, видяно: 1761 пъти. #11804
Я по екзистенциален въпрос - защо не мога да си редактирам мненията?
Иначе - като махнеш бтн класа и списъка с елементите които имат този клас също се променя.
johnfound
Създадено на 23.09.2020, видяно: 1757 пъти. #11806
Вече можеш да си редактираш мненията, но не го възприемай като награда за отговора за JS, защото в него ти само повтаряш това, което и без това е очевидно.
Но защо? В края на краищата този списък е формиран някъде другаде в програмата и въобще можеше да съдържа всякакви елементи.
Защото някакви долни Гани дето толко бизнеси унищожиха и запратиха Рабин на село са го дизайнвали. От документацията:
Syntax
var elements = document.getElementsByClassName(names); or:
elements is a live HTMLCollection of found elements.`
п.с. Виждаш ли си бъга? Сега ако нямах едит права не можех да го посоча в тоя пост.
johnfound
Създадено на 23.09.2020, видяно: 1747 пъти. #11810
elements is a live HTMLCollection of found elements.
Добре де, досещам се какво значи "live" в този контекст. А как да я убия в такъв случай, така че да могат да се променят елементите без да изчезват от списъка?
synergie
Създадено на 23.09.2020, видяно: 1744 пъти. #11811
elements is a live HTMLCollection of found elements.
Добре де, досещам се какво значи "live" в този контекст. А как да я убия в такъв случай, така че да могат да се променят елементите без да изчезват от списъка?
Ми правиш си копие. Сложността става 2 * О(N).
Бъга е че апострофа на code snippet-a се вижда в мнението.
johnfound
Създадено на 23.09.2020, видяно: 1740 пъти. #11813
Ми правиш си копие. Сложността става 2 * О(N).
Бъга е че апострофа на code snippet-a се вижда в мнението.
Сложността не може да стане 2*О(N) - прочети малко за тия работи.
А бъга го знам отдавна и все някога ще го оправя.
Използвай ;begin и ;end тагове за форматиране на блок от код. Обратните кавички са за форматиране с моноширинен шрифт в рамките на реда, а не за форматиране на код.
johnfound
Създадено на 23.09.2020, видяно: 1735 пъти. #11819
Ми правиш си копие.
Не знам какво разбираш под копие, но var temp2 = temp; не работи.
synergie
Създадено на 23.09.2020, видяно: 1734 пъти. #11821
Ми правиш си копие. Сложността става 2 * О(N).
Бъга е че апострофа на code snippet-a се вижда в мнението.
Сложността не може да стане 2*О(N) - прочети малко за тия работи.
А бъга го знам отдавна и все някога ще го оправя.
Използвай ;begin и ;end тагове за форматиране на блок от код. Обратните кавички са за форматиране с моноширинен шрифт в рамките на реда, а не за форматиране на код.
Айде бе не може да стане 2 * О(Н). И кой го казва това?
Disclaimer: Не претендирам, че съм javascript-бок, не съм писал такъв от 2017-та.
Вече имаш начин да копираш листа. Друг начин на чист JS:
function removeClass(ele, value) {
var buttons = document.getElementsByClassName(ele);
for (var i = 0; i < buttons.length; i++)
buttons[i].className = buttons[i].className.replace(value, '');
}
Трябва да оправиш празните места
Ако искаш да махнеш и добавиш в един цикъл
Но ако можеш, бих си го написал с jQuery
Добавям jQuery през console-ата. За да не копирам в fiddle
Между другото, сега не знам за HTTP2, ни преди като правех повече сайтове, правихме CSS bundle И JS bundle минифицирани и ги реферирахме в страницата. Заучен съм, че е грешно да имам style и script тагове по страницата. След това, като изключим twitter bootstrap, останалия JS винаги го слагах в края на страницата от кой файл да се зарежда.
johnfound
Създадено на 23.09.2020, видяно: 1674 пъти. #11848
Между другото, сега не знам за HTTP2, ни преди като правех повече сайтове, правихме CSS bundle И JS bundle минифицирани и ги реферирахме в страницата. Заучен съм, че е грешно да имам style и script тагове по страницата. След това, като изключим twitter bootstrap, останалия JS винаги го слагах в края на страницата от кой файл да се зарежда.
Ами специално за това, генералната линия се мени на всеки 3 месеца.
Аз лично предпочитам да инлайнвам CSS-а в хедъра на страницата - рендирането на страницата е мигновено, а за обемите CSS с които аз боравя, кеширането е безпредметно.
За JS-та въобще нямам някакво определено мнение, по простата причина, че първо съм много зле там - този език нито го харесвам, нито го разбирам. Но обикновено също го слагам в HTML-а и гледам да е по-малко и да работи някак си...
Евлампи
Създадено на 23.09.2020, видяно: 1650 пъти. #11945
Оф, да ви имам на всички "експертизата"...
Намерих си го сам.
var temp = Array.from(document.getElementsByClassName("btn"));
Ползвай document.querySelectorAll, просто вместо само името на класа трябва напишеш точка преди него (цсс клас селектор).
Връща статична колекция - The Document method querySelectorAll() returns a static (not live) NodeList, някои предпочитат да му дадат псевдоним - var $ = document.querySelectorAll() или нещо друго по-кратко
johnfound
Създадено на 23.09.2020, видяно: 1645 пъти. #11948
Оф, да ви имам на всички "експертизата"...
Намерих си го сам.
var temp = Array.from(document.getElementsByClassName("btn"));
Ползвай document.querySelectorAll, просто вместо само името на класа трябва напишеш точка преди него (цсс клас селектор).
Връща статична колекция - The Document method querySelectorAll() returns a static (not live) NodeList, някои предпочитат да му дадат псевдоним - var $ = document.querySelectorAll() или нещо друго по-кратко
O! Супер! Точно каквото ми трябваше.
Евлампи
Създадено на 23.09.2020, видяно: 1631 пъти. #11974
O! Супер! Точно каквото ми трябваше.
querySelectorAll и querySelector (връща само един (първият срещнат) елемент и може да се ползва вместо getElementById само че с префикс # пред id-то, css id selector) са съвременните унифицирани апита за селект на елемент/елементи по айди, таг, клас и изобщо всякакъв вид произволно сложен цсс селектор със синтаксис като в цсс-а