我在jquery中使用填字游戏,出于某种原因,我需要将其转换为javascript并避免使用jquery。我已经设法转换了它的许多部分,但我在原型函数中遇到了一个大问题,我不明白如何转换它
以下是代码摘要:
$("#"+cw_id).crossword();
(function($) {
// plugin definition
$.fn.crossword = function(options) {
.....
// implementation code goes here.
return this.each(function(){
....
}
})();
// end plugin definition
我试过这样做和类似的电话,但都没有效果。
document.getElementById("#"+cw_id).crossword();
(function() {
// plugin definition
Object.prototype.crossword = function(options) {
})();
// end plugin definition
此原型函数的实际代码位于以下链接:https://github.com/electricg/jQuery-Html5-Crossword/blob/master/crossword.js#L1
并且呼叫者在索引链接处:https://github.com/electricg/jQuery-Html5-Crossword/blob/master/index.html#L62
我真的需要知道如何将这个原型函数转换回javascript提前感谢提供的任何帮助
对于与jQuery类似的功能,您正在寻找HTMLElement.prototype
。
HTMLElement.prototype.crossword = function(text) {
this.innerHTML = text;
};
document.getElementById('crossword1').crossword('crossword here');
<div id=crossword1 />
由于这是个坏主意,我会使用一个函数并绑定元素来获得类似的结果。您也可以将其作为参数传入,但这需要对现有代码进行更多重构。
const crossword = function(text) {
this.innerHTML = text;
};
crossword.bind(document.getElementById('crossword1'))('crossword here');
<div id=crossword1 />