javascript - 如何在插件配置期间访问 $(this) 元素以使用 jQuery 获取 data() 属性?
问题描述
我正在尝试为 bootstrap-datetimepicker配置小部件定位,以便它根据我在data-vertical-position
元素中设置的任何值打开。
例如,如果我有以下 html
<div class='input-group date' id='datetimepicker2' data-vertical-position="top">
我希望菜单在顶部打开而不是“自动”
通常人们会像这样改变小部件的打开位置
$('.from').datetimepicker({
widgetPositioning: {
horizontal: 'auto',
vertical: 'top'
}
});
但是,我想$(this)
在配置期间访问对象,以便检查元素是否具有data-vertical-position
我应该设置的值。所以我想这样做
$('.from').datetimepicker({
widgetPositioning: {
horizontal: $(this).data('horizontal-position') || 'auto',
vertical: $(this).data('vertical-position') || 'auto'
}
});
但是,这是行不通的。$(this).data('horizontal-position')
似乎一直为空,将位置设置为默认值auto
。
解决方案
如果插件不支持这种类型的设置,您可以手动进行
$('.from').each(function() {
var from = $(this);
from.datetimepicker({
widgetPositioning: {
horizontal: from.data('horizontal-position') || 'auto',
vertical: from.data('vertical-position') || 'auto'
}
})
});
推荐阅读
- javascript - 通过其他数组中的元素过滤数组对象
- sql - 使用返回 int 的函数时出现问题
- typo3 - TYPO3:felogin 没有显示任何错误
- android - Android Studio 4.0 文档弹出窗口无法正常工作
- python - 在定义的时间范围内按升序检索推文
- c# - 如何调试system.reactive的FromEvent函数中的Action M?
- report - GP Dynamics 报告编写器计算字段 RW_POPLINECommentText 未显示在一揽子 PO 上
- xamarin - 如何在 SKCanvasView 上徒手擦除?
- log4net - 我应该如何在 app.config 中配置 lot4net?
- wordpress - WordPress 和 Docker。尝试与 WP 控制台交互,包括更新问题