|
|
|
|
|
by err4nt
2818 days ago
|
|
> The classList API makes modifications to the class property very easily. So does the dataset interface for custom data attributes: https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement... > You'd be essentially limited to one identifier in attribute selectors. You can't really select from multiple identifiers with a data attribute… That's just not true, there's an attribute selector that targets strings in a whitespace separated list: [attr~=value], so you could think of .demo as being a shorthand for [class~="demo"], or #demo as a shorthand for [id="demo"]. [data-hover~=foo][data-hover~=bar] {}
would target a tag like this: <div data-hover="foo bar"></div>
But not a tag like this: <div data-hover="foobar"></div>
More info about attribute selectors: https://drafts.csswg.org/selectors-4/#attribute-representati... |
|
The classList api is still a lot more suited for this than dataset. None of the modifications done through the dataset api would reflect in the DOM and be readable by CSS unless you were to convert the list to a space separated string and explicitly set the attribute. classList handles all of this for you.