Да, p[class=class-name]
работает только в том случае, если атрибут класса равен "class-name"
. Как
<p class="class-name">
Но атрибут class может содержать более одного класса. Например,
<p class="class-name other-class-name">
имеет два класса, class-name
и other-class-name
, и может соответствовать p.class-name
, но не p[class=class-name]
.
Так что ответ на то, что предпочтительнее, зависит от вашего варианта использования.