I am converting a piece of code from jQuery to ChocolateChip UI, and this piece of code is stumping me as ChocolateChip UI doesn't support ':visible' for its implementation of is()
if (interactive && block.is(':visible')) {
block.fadeOut(250, function() {
block.html(newContent);
block.fadeIn(750);
});
showHighlight($("#character_text"));
}
The error I get is:
Uncaught SyntaxError: Failed to execute query: ':visible' is not a valid selector.
Two questions:
- How can I emulate
is(':visible')
using plain JavaScript? - How can I extend ChocolateChip UI's
is()
to handle:visible
?
As an answer to your second question :
ChocolateChip UI does not seem to offer a way to extend selectors. The code for the
.is()
function shows that, when the selector is a string, this string is directly fed to.querySelectorAll()
.However, you can also pass a
function
as an argument, so using the predicate Pieter de Bie pointed out, you can write :Another solution is to use jQuery : the authors stipulate that their library should be compatible with jQuery > 2.0.3 (see the project's Readme).