gpt4 book ai didi

javascript - 需要使用哪些方法或过程来在 jQuery 中附加表示 jQuery 实现的简单 Java 'class' 实例?

转载 作者:行者123 更新时间:2023-11-28 06:49:31 26 4
gpt4 key购买 nike

我在 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 实例时,由于采用了自行开发的监听器/观察者/可观察模式,过滤器都会被删除并重新渲染。到目前为止,大部分内容都是硬编码的。当我第一次写它时,它写得比较松散,因为它是为了找到一份工作而进行的编程作业,而我在两天内就完成了。现在它已经完成了,我正在尝试将它更通用地实现到一个库中。当我开始附加标题并尝试使其基于标题对象进行渲染时,我没有标题的 ID 或要删除的父对象。理想情况下,我希望能够做到:

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

最佳答案

我是自学成才的,所以我的面向对象编程有点散乱,但如果我有一个类,我想要“HTMLize”并将值插入到 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

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

关于javascript - 需要使用哪些方法或过程来在 jQuery 中附加表示 jQuery 实现的简单 Java 'class' 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33087260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com