Борьба с ограничением :: перед одним указанным h2

Альтернативой было бы разместить ваше регулярное выражение в невостребованных круглых скобках. Затем сделайте это выражение необязательным, используя квалификатор ?, который будет искать 0 (т. Е. Пустую строку) или 1 экземпляр незахваченной группы.

Например:

/(?: some regexp )?/

В вашем случае регулярное выражение будет выглядеть примерно так:

/^(?:[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+)?$/

Нет | "или" необходим оператор!

Здесь Документация Mozilla для синтаксиса регулярного выражения JavaScript.

0
задан Christian Ipanaque 17 January 2019 в 13:49
поделиться

2 ответа

Ответ AndrewL64 совершенно правильный. Просто хочу отметить, что вы не должны использовать один и тот же идентификатор несколько раз, как в примере ниже:

<h2 id="newsletter_embed_signup">Subscribe to our mailing list</h2>
<h3 id="newsletter_embed_signup">(And get a 10% voucher)</h3>

В противном случае вы столкнетесь с дальнейшими проблемами очень скоро, поэтому используйте классы вместо этого. [ 112]

0
ответ дан Tobija Fischer 17 January 2019 в 13:49
поделиться

Чтобы нацелиться на первое h2, включите в свой селектор также имя класса первого h2 "newsletter" следующим образом:

.newsletter .newsletter_title h2.newsletter::before {
  /* style properties here */
}

Для нацеливания на второе [ 114], обратитесь к идентификатору h2 "newsletter_embed_signup" в вашем селекторе следующим образом:

#newsletter_embed_signup::before {
  /* style properties here */
}

Тот же самый подход выше можно использовать и для таргетинга на элементы h3.


Кроме того, в отличие от имен классов, идентификаторы должны быть уникальными, когда каждое имя идентификатора может использоваться только один раз.

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

0
ответ дан AndrewL64 17 January 2019 в 13:49
поделиться