获取 jquery 中的链接元素以在 $.fn.FunctionName 中使用
Posted
技术标签:
【中文标题】获取 jquery 中的链接元素以在 $.fn.FunctionName 中使用【英文标题】:Get element of chaining in jquery to use in $.fn.FunctionName获取 jquery 中的链接元素以在 $.fn.FunctionName 中使用 【发布时间】:2019-12-14 12:37:41 【问题描述】:我正在创建一个基于 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...我不知道如何检索...
【问题讨论】:
您是否尝试将您的函数直接放入您的插件中,例如:$.fn.plgCalendar = function(param) function plgCalendar(param) ... ; ;
?
不,我喜欢设置它,因为任何人都需要访问 JQuery 对象。
【参考方案1】:
这样解决:
(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;
【讨论】:
以上是关于获取 jquery 中的链接元素以在 $.fn.FunctionName 中使用的主要内容,如果未能解决你的问题,请参考以下文章