id нужен, заяц зря предпоследний пост написал, всем спасибо, все свободны
i7 [email protected], asus maximus iv extreme-z, 4х4gb vengeance@1600Mhz 9-9-9-24,ih4500+uf120, rx5700xt, vertex3.2 120gb +seagate brrcd (1+0.5)Tb, HIPER 1000m, zalman z9 u3
id нужен, заяц зря предпоследний пост написал, всем спасибо, все свободны
i7 [email protected], asus maximus iv extreme-z, 4х4gb vengeance@1600Mhz 9-9-9-24,ih4500+uf120, rx5700xt, vertex3.2 120gb +seagate brrcd (1+0.5)Tb, HIPER 1000m, zalman z9 u3
Rager
id нужен, заяц зря предпоследний пост написал, всем спасибо, все свободныДля чего нужен? Вы оба сливаетесь и не можете ответить на этот банальный вопрос.
Начнем со скорости выборки, например
картинки кликабельны
живой бенч
во-вторых, почему бы мне не использовать id для действительно уникального элемента? например имеющего все классовые стили других, но в исключительном случае имеющего некоторые отличия? зачем мне юзать для этого еще один класс?
зачем мне писать дополнительный цикл прохода в byclassname или queryselectorall? кароч нипанятна
i7 [email protected], asus maximus iv extreme-z, 4х4gb vengeance@1600Mhz 9-9-9-24,ih4500+uf120, rx5700xt, vertex3.2 120gb +seagate brrcd (1+0.5)Tb, HIPER 1000m, zalman z9 u3
Rager
Начнем со скорости выборки, напримеркартинки кликабельныживой бенчво-вторых, почему бы мне не использовать id для действительно уникального элемента? например имеющего все классовые стили других, но в исключительном случае имеющего некоторые отличия? зачем мне юзать для этого еще один класс?зачем мне писать дополнительный цикл прохода в byclassname или queryselectorall? кароч нипанятнаПонеслась.
1. Скорость выборки – высосанный из пальца аргумент, слышал про преждевременную оптимизацию? Скорость выборки по классу на моем компьютере 10 миллионов операций в секунду. Для каких задач тебе недостаточно такой скорости? Ты понимаешь что браузер упадет раньше, чем ты 10 миллионов нод вставишь в дом дерево? Тебе реально нужно ускорять это место?
2. Какая тебе нахуй разница написать #myUniqueElement или .myUniqueElement в css? При этом когда элементов станет 2 тебе не придется заменять айди на класс. Какие будут проблемы? Вот реальный пример: допустим у тебя есть стиль
#myId {
color: green;
}
А потом тебе понадобилось подсвечивать текст красным в случае ошибки. Ты делаешь класс
.error {
color: red;
}
Добавляешь класс к ноде <div id=“myId” class=“error”>Text</div>
Какого цвета будет текст знаешь?
3. Ситуация, когда у тебя только один элемент в доме. Не пиши querySelectorAll, пиши querySelector, сэкономишь те самые 5 символов на написание forEach. Проблема решена?
Итого:
1. Оптимизация смысл которой ты не можешь объяснить
2. Непонятно в чем профит. Разница в 2 буквы в имени аттрибута и потенциальные проблемы – их я описал выше.
3. Не хочешь писать цикл – не придется, есть querySelector.
bibi_
Скорость выборки – высосанный из пальца аргумент,ты же нам тут задвигал про великие яндексовые оптимизации, может я 3д движок на js пишу и каждый полигон у меня с id? XD
bibi_
#myId {color: green;
}
А потом тебе понадобилось подсвечивать текст красным в случае ошибки. Ты делаешь класс
.error {
color: red;
}
шкальнику известны приоритеты в id, тем он и хорош, что если у меня
.error {
color: red;
display:inline;
padding:5px;
border:1px solid black;
border-radius: 5px 0px;
}
для всех, но в одном месте я хочу
#myId {
border-radius: 3px 3px;
}
.
то это будет удобно, ясно и понятно
.
а теперь ты мне скажи, что будет когда я сделаю так
.error {
color: red;
display:inline;
padding:5px;
border:1px solid black;
border-radius: 5px 0px;
}
.myId {
border-radius: 3px 3px;
}
<div class=“error myId”>Text</div>
и почему я должен себе этим парить мозг?
3 - гото 1, квериселектор збс для сложных запросов, зачем его юзать в простейшем случае - хз
bibi_
смысл которой ты не можешь объяснитьты не спрашивал, а выводы делаешь, степень моей лояльности к твоим ответам падает
Постарадавший от дождережима.i7 [email protected], asus maximus iv extreme-z, 4х4gb vengeance@1600Mhz 9-9-9-24,ih4500+uf120, rx5700xt, vertex3.2 120gb +seagate brrcd (1+0.5)Tb, HIPER 1000m, zalman z9 u3
более того, от тебя кроме - айди говно, классы для пацанов и наездов никто не увидел ни одного довода о том, что айди не нужен, подкрепленного хоть чем-то, кроме вышеописанного девиза
Постарадавший от дождережима.i7 [email protected], asus maximus iv extreme-z, 4х4gb vengeance@1600Mhz 9-9-9-24,ih4500+uf120, rx5700xt, vertex3.2 120gb +seagate brrcd (1+0.5)Tb, HIPER 1000m, zalman z9 u3
bibi_
ты понимаешь что браузер упадет раньше, чем ты 10 миллионов нод вставишь в дом дерево?кликабельно
ноут на i5 6200u
10кк элементов, вставка заняла 26 сек, установка значения элемента - еще несколько секунд, ничего не упало и не зависло, что я делаю не так?
<!DOCTYPE html><html>
<head>
<meta charset=“utf-8”>
</head>
<body>
<div id=“bibi”></div>
<script>
var start = +new Date();
for(var i=0;i<10000001;i++){
var bi=document.createElement('p');
!(i==9000000)?bi.setAttribute(“id”, “bi9kk”):0;
document.getElementById(“bibi”).appendChild(bi);
!(i%10000)?console.log(i):0;
}
var end = +new Date();
var diff = (end - start)/1000;
console.log(diff,“ sec”);
document.getElementById(“bi9kk”).innerHTML=“превед”;
</script>
</body>
</html>
зы больше чем уверен, что снижение числа вывода в консоль прибавило бы еще несколько секунд производительности
Постарадавший от дождережима.i7 [email protected], asus maximus iv extreme-z, 4х4gb vengeance@1600Mhz 9-9-9-24,ih4500+uf120, rx5700xt, vertex3.2 120gb +seagate brrcd (1+0.5)Tb, HIPER 1000m, zalman z9 u3
(facepalm.jpg)
В браузере у тебя плоский список элементов? Попробуй вставить элементы друг в друга. Я на 200 тысячах уже устал. 2,2 GHz Intel Core i7
Слив засчитан
Постарадавший от дождережима.i7 [email protected], asus maximus iv extreme-z, 4х4gb vengeance@1600Mhz 9-9-9-24,ih4500+uf120, rx5700xt, vertex3.2 120gb +seagate brrcd (1+0.5)Tb, HIPER 1000m, zalman z9 u3