@ Chetan, это не обязательно должно быть так, вы всегда можете чередовать элемент контейнера между слоями и использовать его в качестве контрольной точки. Я бы сопоставил кнопку удаления первого элемента списка с

оздании веб-приложения, насыщенного Javascript, каков наилучший способ присвоения имен классам CSS для поддержания чистоты кода Javascript и таблиц стилей CSS и гибкости структуры пользовательского интерфейса?

Опция 1:Назовите каждый элемент уникально.

Например,

// HTML
<div id="list">
  <button class="list-delete" />
  <div class="list-items">
    <div class="item">
      <button class="item-delete" />
      <h1 class="item-name">Item 1</h1>
    </div>
  </div>
</div>

// CSS
.list-delete {
  color: black;
}

.item-delete {
  color: blue;
}

// Javascript
$(".list-delete").show();
$(".item-delete").hide();

Плюсы:

Выбор элемента для стиля или манипуляции JS прост

Минусы:

Имена элементов начинают становиться действительно длинными и трудными для отслеживанияИзменение структуры HTML требует много переименования

Вариант 2:Назовите каждый элемент семантически, и выберите элементы иерархически.

Например,

// HTML
<div id="list">
  <button class="delete" />
  <div class="items">
    <div class="item">
      <button class="delete" />
      <h1 class="name">Item 1</h1>
    </div>
  </div>
</div>

// CSS
#list > .delete {
  color: black;
}

#list > .items > .item > .delete {
  color: blue;
}

// Javascript
$("#list > .delete").show();
$("#list > .items > .item > .delete").hide();

Плюсы:

Наименование кажется более естественным, а имена короткими и ясными

Минусы:

Выбор элемента для стайлинга или манипуляции громоздокИзменение структуры HTML требует изменения множества селекторов, поскольку имена связаны с иерархической структурой

Вариант 3 ... n: Какой-то гибридный подход? Совершенно другой подход вообще?

Помните о проблеме конфликта имен при добавлении большего количества элементов в будущем, особенно если у вас есть вложенные элементы. Кроме того, идеальное решение позволит легко изменить структуру HTML существующих элементов без чрезмерного разрушения в других местах.

Ответы на вопрос(1)

Ваш ответ на вопрос