How to define custom jQuery filters

You can do this through $.extend($.expr.filters, {filterName: function(elem){ return some bool;}});

by queryj

HTML

<p>ad;flaj flajdfoaewijl djflasjdf asjfoaij da ;sdjfa;dffd;j;adfjaerjqwjd;jfa</p>

CSS

p {
    display: inline;
}

JavaScript

$.extend(
jQuery.expr.filters, {
    inline: function (elem) {
        return $(elem).css('display') === 'inline';
    },
    
    hasData: function(elem)
    {
        return !$.isEmptyObject($(elem).data());
    }

});

$(function () {
    $('p').data('somekey', 'some value');
    console.log($('p').data());

    $('p:hasData').html('has data');

    //$('p').html($('p').data()['somekey']);

    console.log($.isEmptyObject($('p').data()));

    $('p:inline').html('yeah inline.').css("border", "1px solid red");


});