На самом деле, они не делают то же самое. Селектор атрибута, который функционирует идентично div.thisTwo
, равен div[class~="thisTwo"]
. Обратите внимание на использование ~
вместо *
. Не говоря уже о том, что вашему селектору .thisOne
также не хватает div
впереди.
div[class*="thisTwo"]
выбирает любой div
, чей атрибут class
содержит строку thisTwo
, но не учитывает пробелы, отделяющие эту строку от других классов. Он просто ищет строку в любом месте значения атрибута.
Это означает, что он будет соответствовать следующему элементу, которому div.thisTwo
не может соответствовать, потому что он имеет только один класс thisOne-thisTwo
, который содержит строку thisTwo
, а не два отдельных класса thisOne
и thisTwo
:
<div class="thisOne-thisTwo"></div>