I am setting a data-position
attribute on document ready via jQuery on several divs. The setting definitely works. For example, calling the below code in the Chrome console is returning 'left'
.
$('.card-container').data('position');
However in the CSS the below is not doing anything.
[data-position='left']
Hard-coding data-position="left"
in the div is working though. What am I doing wrong? Thanks for the help
Setting a data
attribute as you are means that it is stored in jQuery's cache (which is an object in memory), it does not get set as an attribute on the element and therefore no CSS selector will see it.
You would need to manually set the data
attribute using attr
for this to work:
$('.card-container').attr('data-position', 'left');
Note however, that this will see slightly reduced performance when retrieving the data value, although we're talking miliseconds.
$('.card-container').attr('data-position',"set your value");
reference attr
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With