javascript - 获取 jquery 中的链接元素以在 $.fn.{FunctionName} 中使用
问题描述
我正在创建一个基于 Jquery 和 Bootrap(最新版本)的插件,由该方法/代码调用:
$(document).find('.calendar-plug-bs').each(function(index, el) {
//$(this).plgCalendar("destroy"); Testing for destroy if exist...
$(this).plgCalendar();
})
它与这样的元素一起使用:
<div class="form-group row">
<div class="calendar-plug-bs"></div>
</div>
这个脚本/插件开始如下......
(function($) {
$.fn.plgCalendar = function(param) {
return window.plgCalendar(param);
};
}(jQuery));
但问题是我需要调用初始函数的检索节点......
|------|
$(this).plgCalendar();
在里面添加一个表...
function plgCalendar(param = null) {
var r = null;
if (param !== null) {
if (typeof param.func !== 'undefined') {
if (param.func === "destroy") {
} else if (param.func === "getValue") {
}
} else {
console.log('%cMSG: (func) not Set', 'color: #bada55');
}
} else {
/*****WORKING ON THIS***/
var target = $(this);
console.log(target);
if (target.is("div")) {
var id = window.BuildRandID();
var $tableObject = $('<table/>', {
'class': 'bigger',
'id': id
});
$(target).append($tableObject);
return id;
} else {
window.alert("calendar-plug-bs must be a div");
}
/*****WORKING ON THIS***/
}
return r;
}
失败是var taget
不是 div ......而且我不知道如何检索......
解决方案
通过这种方式解决:
(function($) {
$.fn.plgCalendar = function(param = null) {
param = window.plgCalendarParam(param);
param['this'] = $(this);
return window.plgCalendar(param);
};
}(jQuery));
function plgCalendarParam(param) {
if (param == null) {
param = [];
}
return param;
}
function plgCalendar(param) {
var r = null;
if (typeof param.func !== 'undefined') {
if (param.func === "destroy") {
} else if (param.func === "getValue") {
}
} else {
/*****WORKING ON THIS***/
var target = param['this'];
if (target.is("div")) {
var id = 'plgCalendar_' + window.BuildRandID();
var $tableObject = $('<table/>', {
'class': 'bigger',
'id': id
});
$(target).append($tableObject);
r = { 'id': id, 'init': true };
} else {
window.alert("calendar-plug-bs must be a div");
}
/*****WORKING ON THIS***/
}
return r;
}
推荐阅读
- python - 尽管存在 __init__.py,但无法从模块导入
- python - 无法使用 python 连接到 SQL Server
- angular - Angular Reactive Forms FormArray - 添加按钮以打开另一个弹出表单
- bash - 格式化 BASH 选择循环
- javascript - 使用 Charts.js 和 Angular 8 在 y 轴上带有百分比值的堆积面积图
- mysql - 连接复合键
- typescript - 是否可以使用 ts-jest / jest 监视通用函数并在 Typescript 环境中模拟返回值?
- postgresql - Micronaut Data 的级联持久化不保存子对象
- c# - 尝试在 Visual Studio 中测试从 SQLite 数据库加载数据后出现“System.NullReferenceException”
- c++ - 最大 malloc 大小低于预期