我的应用程序基于 100 个文件。 “逻辑”决定哪些内容将包含在特定的显示中。
在其中许多中,我都有 jquery-ui-widgets(对于这个问题,我假设它们都是选项卡
)。
其中一些是定制的,另一些则不是。
自定义选项卡在完整输出的开头(在 html header 中)单独设置。
其他的稍后全局设置。
HTML
<div class="some-element">...
<div class="some-other-element">...
<div class="tabs">...
<div class="tabs">...
<div class="tabs">...
<div class="tabs">...
JavaScript
$(".tabs .some-element").tabs({/*some settings*/});
$(".tabs .some-other-element").tabs({/*some other settings*/});
$(".tabs").tabs(); // no settings
我的问题是:我希望最后一个 javavscript 调用排除已经初始化的元素。
如何判断对象是否已设置?
最佳答案
正如 @mhu 所说,您可以检查小部件名称下的数据值。小部件框架还设置了一个与小部件本身名称相匹配的选择器。这将允许您测试一个项目是否是一个小部件:
if ($(testElement).is(":ui-tabs")) {
// testElement is a ui-tabs widget
}
这实际上是由数据属性支持的,该属性只能用于测试单个项目。选择器可以按如下方式使用:
$(".tabs:ui-tabs").each(function() {
// every ".tabs" which is a widget will get a call.
});
关于javascript - 如何判断一个元素是否是 jquery-ui 小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22512421/