How you might use jQuery to filter elements by their data Attribute values. This code snippet grabs all divs that have an id beginning with “proto_” and have a data attribute of “state” with value “open”.
var $el = $('div[id^=proto_]').filter(function()
{
return ($(this).data("state") == "open")
});
console.log($el);
{
return ($(this).data("state") == "open")
});
console.log($el);
I’ve done a quick demo in jsfiddle to demonstrate. http://jsfiddle.net/qgwnY/
Optimised Version
Thanks Vlad.
var $el = $('div[id^=proto_]').filter('div[data-state=open]').css('color','red');
Check this out on jsfiddle.


