Created
September 20, 2013 16:38
-
-
Save sourcebits-robertbiggs/6640321 to your computer and use it in GitHub Desktop.
A plugin to normal hasClass is,not and has to work like ChocolateChipJS: hasClass, is, isnt, has and hasnt. This is for implementing support for jQuery with the ChocolateChip-UI framework.
With these, the methods will always return the filtered results so that you can perform operations on them directly: $('li').hasClass('selected').css('color',…
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$.fn.extend({ | |
hazClass : function ( className ) { | |
var ret = $(); | |
this.each(function(idx, ctx) { | |
if ($(ctx).hasClass(className)) { | |
ret.push(ctx); | |
} | |
}); | |
return ret; | |
}, | |
iz : function ( selector ) { | |
var ret = $(); | |
this.each(function(idx, ctx) { | |
if ($(ctx).is(selector)) { | |
ret.push(ctx); | |
} | |
}); | |
return ret; | |
}, | |
iznt : function ( selector ) { | |
return this.not(selector); | |
}, | |
haz : function ( selector ) { | |
return this.has(selector); | |
}, | |
haznt : function ( selector ) { | |
var ret = $(); | |
this.each(function(idx, ctx) { | |
if (!$(ctx).has(selector)[0]) { | |
ret.push(ctx); | |
} | |
}); | |
return ret; | |
} | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
yep. But if they named it ancestor... that would've made sense!
Yeah I'm aware jquery's data may refer to data-* attributes, just didn't want to replace original chocolatechip code. I'm still coding with chui in mind, in future versions i may not need jQuery, want to retain the distinction in my head, this helps. Also I like the distinction between data store and an element's attribute, the ambiguity has caused problems in the past.
What do you think of a hazntAttr/hazntClass? better to just use iznt? reads better/easier to follow imo.
this isn't comprehensive or anything, just literally what I needed to make the switch. There are a few more but I don't think they warrant posting here.
$.form2JSON
for sure was a welcome addition