按属性或类而不是 ID 附加 Dojo 工具提示

Attach Dojo Tooltip by Attribute or Class Instead of ID

本文关键字:ID 附加 Dojo 工具提示 属性      更新时间:2023-09-26

>我在这里看到了答案,但我不明白它 将工具提示附加到没有固定元素"id"的项目

我正在创建我的 Dojo 工具提示,如下所示:

<script>
require(["dijit/Tooltip", "dojo/domReady!"], function(Tooltip){
    new Tooltip({
        connectId: ["div_1_1_2_1_1_1_2"],
        label: "Please select a Country, Subsidiary before selecting a City."
    });
    new Tooltip({
        connectId: ["div_1_1_2_1_2_1_2"],
        label: "Please select a Country, Subsidiary before selecting a City."
    });
});
</script>

我的 div ID 已生成,因此我宁愿将工具提示绑定到另一个变量,例如我的属性:

data-viewid="Date_Time_Picker2"

这可能吗?

您可以使用

dojo/query按属性查找节点。根据 dijit/工具提示文档,connectId 可以是 id 或实际的 dom 节点引用。

.HTML:

<body class="claro">
    <div><span data-viewid="attachATooltipToMe">Test one</span>
    </div>
    <div> <span data-viewid="attachATooltipToMe">Test two</span>
    </div>
    <div> <span data-viewid="attachATooltipToMe">Test three</span>
    </div>
</body>

.JS:

require(['dojo/query', 'dijit/Tooltip', 'dojo/domReady!'], function (query, Tooltip) {
    var nodes = query('[data-viewid="attachATooltipToMe"');
    new Tooltip({
        connectId: nodes,
        label: "Please select a Country, Subsidiary before selecting a City."
    });
});

这会将工具提示附加到每个节点,该节点具有指定值为"attachATooltipToMe"的 data-viewid 属性。