Я разрабатываю библиотеку javascript под названием TechX. Вот код:Ошибка Javascript при вызове функции библиотеки javascript
(function(){
function tex(s){
return new tex.init(s);
};
//declare the init selector function
tex.init = function(s){
if(!s){
return this;
}
else{
this.length = 1;
if (typeof s === "object"){
this[0] = s;
}
else if(typeof s === "string"){
var obj;
obj = document.querySelector(s);
this[0] = obj;
}
return this;
}
}
tex.prototype = {
dit : function(){
this.innerHTML = 'Hi?!?!?!';
}
};
window.tex = tex;
})();
В моем теле есть этот сценарий, чтобы проверить это:
<input type="button" id="inpt" value="click"></input>
<div id="test"></div>
<script>
var inn = document.getElementById("inpt");
inn.onclick = function(){
tex('#test').dit();
};
</script>
Когда я загружаю страницу нет никаких ошибок, но когда я нажимаю на кнопку Я получаю ошибка, которая говорит: «'undefined' is not a function (evaluating 'tex('#test').dit();')
».
Кто-нибудь знает, что я сделал неправильно в своем коде? Как я могу исправить ошибку? Спасибо огромное!
Хорошо, я пробовал это и не было никакой ошибки, но ничего не случилось с div. –
@CodeApprentice - не 'this.innerHTML = 'Привет?!?!?!';' Должен быть 'this [0] .innerHTML = 'Привет?!?!?!';' Или если вы делая это как jQuery, то вам нужно применить метод ко всем объектам массива. – jfriend00
Я хотел бы сделать это способом jQuery, но как применить метод ко всем объектам? –