繁体   English   中英

遍历PHP并使用jQuery定位

[英]Loop through PHP and target with jQuery

我为工具提示提供此功能:

//Tooltips
(function($) {
    $.fn.tooltips = function(html) {
        var $tooltip,
            $html;
        return this.each(function(data, html) {
            $html = $(html).attr("data-tooltip", data);
            var $tooltip = $('<div class="tooltip" data-tooltip="' + data + '">' + $html.attr('title') + '</div>').appendTo(".tip");
            $html.removeAttr("title").hover(function() {
                $html = $(this);
                $tooltip = $('div[data-tooltip=' + $html.data('tooltip') + ']');
                $tooltip.addClass("active");
            }, function() {
                $html = $(this);
                $tooltip = $('div[data-tooltip=' + $html.data('tooltip') + ']');
                setTimeout(function() {
                    $tooltip.removeClass("active");
                }, 100);
            });
        });
    }
})(jQuery);

$(function() {
    $("a.tip[title]").tooltips();
});

我有一个PHP循环:

echo '<span class="author-meta"><a class="author tip" id="'. $username .'" href="#" title="[Removed]">'. $username .'</a></span><br>';

当前,当您将鼠标悬停在一个名称上时,所有标题标签都会显示在所有名称上。 有没有一种简单的方法可以将其悬停在一个名称上-只有该名称具有悬停事件吗?

该代码来自一个免费的教程网站,我似乎找不到了,但是我不记得注释部分提到的特定问题,所以我很茫然!

您的代码中的错误在于:

.appendTo(".tip")

那就是将工具提示附加到class =“ tip”的所有元素上。 您应该只附加到当前元素。 第8行中的代码应为:

var $tooltip = $('<div class="tooltip" data-tooltip="' + data + '">' + $html.attr('title') + '</div>').appendTo(this);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM