in seriously.js [4761:4795]
this.target = function (hook, target, options) {
var targetNode,
element,
hook,
i;
if (hook && typeof hook === 'string' && !seriousTargets[hook]) {
element = document.querySelector(hook);
}
if (typeof hook !== 'string' || !target && target !== 0 || element) {
if (!options || typeof options !== 'object') {
options = target;
}
target = element || hook;
hook = null;
}
if (typeof target === 'string' && isNaN(target)) {
target = document.querySelector(target);
}
for (i = 0; i < targets.length; i++) {
targetNode = targets[i];
if ((!hook || hook === targetNode.hook) &&
(targetNode.target === target || targetNode.compare && targetNode.compare(target, options))) {
return targetNode.pub;
}
}
targetNode = new TargetNode(hook, target, options);
return targetNode.pub;
};