<div data-test="1"></div> <script> var $div = $('[data-test="1"]'); console.log($('[data-test="1"]')); //found $div.data('test', "2"); console.log($('[data-test="1"]')); //found console.log($('[data-test="2"]')); //not found console.log($('[data-test=2]')); //not found </script>
as my code, after I set data-test by .data() method, I still have to query the element by original value, not current value.
What’s wrong here?
workaround is use $div.attr("data-test", 2),
even $div.prop("data-test", 2) won’t work