我正在使用引导日期选择器插件,我需要headTemplate
在插件末尾重载对象。
看起来像这样:
var DPGlobal = {
modes: [ ... ],
isLeapYear: function ( year ) {
[...]
},
[...]
headTemplate: '<thead>'+
'<tr class="datepicker-btn-group">'+
'<th class="prev"><div class="dp-btn"><i class="timely-icon-arrow-left"/></div></th>'+
'<th colspan="5" class="switch"><div class="dp-btn"></div></th>'+
'<th class="next"><div class="dp-btn"><i class="timely-icon-arrow-right"/></div></th>'+
'</tr>'+
'</thead>',
contTemplate: '<tbody><tr><td colspan="7" class="grid-picker"></td></tr></tbody>'
};
所以,诚然,我还在学习 javascript,所以我试图弄清楚为什么下面的代码不能做我想做的事。
首先,我需要检查外部 JS 文件是否已加载并且该函数是否可用,我正在尝试.load()
使用带有回调的 jQuery 方法来做到这一点。我在document
目标方面遇到了一些参考错误,我承认对此的最佳实践感到困惑 - 我真的只想说
$( 'lib/bootstrap-datepicker/js/bootstrap-datepicker.js' ).load( function() {
// overwrite/load function
});
但这会引发一堆目标/引用错误,因此,我正在尝试以下操作,因为 jQuery 文档表明我需要将要检查的脚本作为调用.load()
函数的第一个参数而不是目标。这常常让我感到困惑——当我想执行一个全局性的函数并且不引用任何特定的东西(因此document
引用尝试)时,引用 jQuery 中的东西。
$( document ).load( 'lib/bootstrap-datepicker/js/bootstrap-datepicker.js', function() {
origDPGlobal.headTemplate = DPGlobal.headTemplate;
DPGlobal.headTemplate = // 'string of HTML for new template';
});
最后一件事(对不起大家的弹幕),我不明白 headTemplate 最初是如何通过冒号声明的:
var DPGlobal = {
[...],
headTemplate: '// html string',
contTemplate: '//html string'
};
我是否需要像这样将它们重新声明为数组中的原型对象?
DPGlobal[headTemplate] = '// new html string';
DPGlobal[contTemplate] = '// new html string';
非常感谢您帮助新手!