@dedik Ну как вариант вы всегда можете дописать свой селектор (особенно если не важна скорость :-) Думаю в вашем случае - вы легко можете себе это позволить.
jQuery.extend(jQuery.expr[':'], { data: function (el,index,prop) {
if (typeof(prop[3]!=undefined) && prop[3])
{
var attrs=prop[3].split('=');
if ( $(el).attr('data-' + attrs[0]) && ( (attrs.length > 1 && $(el).attr('data-' + attrs[0])==attrs[1]) || attrs.length == 1 ) )
{
return true;
}
else
{
return false;
}
}
return false;
}});
console.log($(':data(id=5)'));
Только не забывайте делать селектор с контекстом, чтобы перебор был только в нужом месте, как писали
выше, т.е.
$(':data(id=5)', DIV_WITH_IMAGES)