javascript - 如何判断一个元素是否是 jquery-ui 小部件?

标签 javascript html jquery-ui

我的应用程序基于 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/

相关文章:

javascript - jQuery 淡入淡出 DIV 内容

javascript - 具有多个下拉过滤器的页面

javascript - 根据表单的选择显示/隐藏标记不做任何事情

javascript - css 选择器在浏览器中有效,但在 Selenium 中无效

javascript - 如何从时间戳中获取日期?

jquery - 保护休息端点

javascript - jQuery 删除/克隆

javascript - Angular Js : Scope Arrays

jquery - 如何使用 jquery-ui 主题来设置需要 2 个图像的按钮的样式

jquery-ui - 如何在 JSF 页面中包含外部 Javascript 文件