Я пишу библиотеку javascript. здесь основной код:Javascript library undefined
(function (window) {
var versrionInfo = {
release : 1.0,
date : "10/5/2013",
releaseNotes : "This is the first oficial release of techx. Basic functions have been implemented."
},
regex = {
Id : /^[#]\w+$/,
Class : /^[.]\w+$/,
Tag : /^\w+$/,
validSelector : /^([#]\w+|[.]\w+|\w+)$/
},
tex = function(selector){
//only some of the functions need to select an element
//EX:
// style: tex(selector).style(style);
//one that would not need a selector is the random number function:
// tex().random(from,to);
if (selector){
if (typeof selector === 'string'){
var valid = regex.validSelector.test(selector);
if(valid){
this.length = 1;
if(regex.Id.test(selector)){
this[0] = document.getElementById(selector);
}
if(regex.Class.test(selector)){
this[0] = document.getElementByClass(selector);
}
if(regex.Tag.test(selector)){
this[0] = document.getElementByTagName(selector);
}
}
}else if(typeof selector === 'object'){
this = selector;
}
//this = document.querySelector(selector);
// I could make a selector engine byt I only need basic css selectors.
}
};
tex.prototype = {
dit : function(){
this.innerHTML = 'Hi?!?!?!';
}
};
window.tex = tex;
})(window);
В разделе тела у меня есть вход и DIV с идентификатором test
. На кнопке ввода у меня есть следующее: onclick=tex('#test').dit();
. Когда я пытаюсь запустить код, я получаю сообщение об ошибке, которое говорит, что оно не определено. Кто-нибудь знает, что не так с моим кодом?
Ну, вызов 'tex()' * does * возвращает 'undefined'. Вы имели в виду ['(новый tex ('#test')) .dit()'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/new)? – Bergi
@Bergi Библиотека должна работать так же, как jQuery: 'tex (" selector "). Function()' –
@TekiTech Функция "tex" не имеет оператора 'return', поэтому он не может работать таким образом. – Pointy