在jQuery中添加一个简单的Java 'class'表示jQuery实现的实例

What methods or procedures need to be in place to append in jQuery a simple Java 'class' instance that represents a jQuery implementation?

本文关键字:jQuery Java 表示 实例 实现 class 简单 添加 一个      更新时间:2023-09-26

我在Javascript中有这个类:命名为Caption:

function Caption
{
   var ...
   function get...()
   { }
   function set...(...)
   { ... }
   return( {   get...:   get...
           ,   set...:   set...
           });
}

这只是一个更大的系统的一个组件,是一个叫做Filter的外部类的一部分。我希望能够在为对象创建jQuery时能够说:

tblFilter.append(getCaption())

,它将获得Caption类实例变量并附加它的jQuery表示。我需要从jQuery继承来实现这一点吗?像这样的吗?

function Caption
{
   var ...
   function get...()
   { }
   function set...(...)
   { ... }
   var that = jQuery();
   that.get... = get...;
   that.set... = set...;
   return(that);
}

?

如果这是真的,我不确定的是我需要写什么函数/方法来生成要附加到外部jQuery的jQuery。这有意义吗?如果有,我错过了什么?

编辑:

让我详细说明-好的,我正在创建我自己版本的数据表。是的,我知道jQueryUI有,但有了这个,我传递数据,它呈现数据。有一个Filter组件确实不能公开创建/构造,只能通过getFilter()方法访问。每次Filter实例被更改时,由于本地生成的侦听器/观察者/可观察模式,过滤器将被擦除并重新呈现。到目前为止,其中大部分都是硬编码的。当我第一次写它的时候,它写得更松散,因为它是为了得到一份工作的编程任务,我在2天内完成了它。现在它已经完成了,我正在尝试在库中更通用地实现它。当我开始附加标题并尝试使其基于标题对象呈现时,我没有标题或父对象的ID来删除。理想情况下,我希望能够做到:

var objDataTable = new DataTable(/*parameters*/);
$(/*parent selector/*).append(objDataTable);

我是自学的,所以我的面向对象编程有点到处都是,但如果我有一个类,我想' html化'并从dom插入值,我会这样做:

var Caption = {
  'amount':10,
  'word':'Hello!',
  'getCaption': function(appendToObject){
    var div = $('<div />');
    var ul = $('<ul />');
    var li = $('<li />', {
      'text' : this.word
    });
    li.appendTo(ul);
    var li2 = $('<li />', {
      'text' : this.amount
    });
    li2.appendTo(ul);
    ul.appendTo(div);
    div.appendTo(appendToObject);
  }
};
var caption_instance = Caption;
caption_instance.getCaption('#wrapper');

var second_caption = Caption;
second_caption.amount = 13;
second_caption.word = 'Goodbye';
caption_instance.getCaption('#wrapper');

你可以在这里看到它的作用:

http://codepen.io/EightArmsHQ/pen/bVrapW

如果你全局包含jQuery,你不需要传递任何东西给函数,你可以直接开始。

这里重要的部分是var xxx = $('<DOM_TAG />');,它允许您创建附加到DOM的元素。这可以在这里找到:http://api.jquery.com/jquery/#jQuery2

如果我误解了问题,请告诉我,我会删除答案。