CSS энный дочерний селектор

У меня есть проблема с селекторами CSS, у меня есть 2 кнопки, представленные в HTML внешним JavaScript, и кнопки внизу и наверху моей страницы.

Таким образом, если я настраиваю CSS со взаимным именем класса, одна кнопка выглядит хорошо, но другой не делает, таким образом, вот моя идея:

  • нажмите первую кнопку a xclassname и дайте ему некоторый CSS
  • ничто к другой кнопке не оставляет ее CSS, как это - как я могу сделать это

Вот то, как мне не удалось сделать это с CSS:

.xclassname:nth-child(1) {
  ⋮ declarations
}

Ничего не произошло, кто-либо может думать о чем-то, что будет работать? btw, я использую Прототип, не jQuery

1
задан Rob W 29 December 2011 в 14:39
поделиться

2 ответа

Это селектор CSS3. Вы используете IE? Потому что там этот селектор вообще не будет работать. Он должен работать в Chrome, Safari или более поздней версии Firefox.

Обходным решением, которое я бы использовал, было бы использование JQuery для выполнения этой операции. Используйте селектор nth-child() в JQuery, чтобы добавить класс, который имеет нужное вам объявление стиля. Очень жаль, что IE так отстает от времени, но именно поэтому он является бичом существования каждого веб-разработчика...

2
ответ дан 2 September 2019 в 23:21
поделиться

Принятый ответ неверен. Документы Prototype фактически предоставляют n-й дочерний пример, и OP фактически упоминает, что он использует Prototype, поэтому ему не нужно беспокоиться об IE.

Это n-й дочерний пример, приведенный в документации:

$$('table tbody > tr:nth-child(even)');

Учитывая, что вы пытаетесь сделать, вы можете настроить таргетинг на этот элемент следующим образом:

$$('.xclassname').first().setStyle({
  // some style here
});
0
ответ дан 2 September 2019 в 23:21
поделиться