识别没有ID或特定属性的对象

Identify Objects without ID or specific attributes

本文关键字:属性 对象 ID 识别      更新时间:2023-09-26

我正试图通过悬停在元素上方来创建弹出窗口。应在第一次悬停后创建/加载弹出窗口。

初始值之后的每次悬停都不应该创建一个新元素,而是重新打开已经创建的元素。

我悬停在中的元素没有ID或类,因此,例如,我无法将这些元素存储在数组中。

$( ".tooltip-enabled" ).hover(
        function() {
            // Tooltip already exists? 
            // ...
            createToolTip($(this));
        }, function() {
            closeToolTip($(this));
        }
);

显示的代码将始终创建一个新的工具提示。有没有办法存储我已经悬停在上面的对象?

显示的代码将始终创建一个新的工具提示。有办法吗存储我已经悬停在上面的哪个对象?

是的。你可以使用$.fn.data,它会存储一个计数器。

$(".tooltip-enabled").hover(function() {
    if ($(this).data('hovered'))
       createToolTip($(this));
    else {
       $(this).data('hovered', true); // set it here
       openToolTip($(this));
    }
},  function() { closeToolTip($(this)); });

注意,为了保持代码简洁,我省略了ifelse周围的括号。如果代码跨越多个语句,则需要使用方括号。