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  

>Привел некорректный синтетический тест из манямирка

>Слив засчитан

 
content