【问题标题】:jQuery .load in closest span instead of element itselfjQuery .load 在最近的跨度而不是元素本身
【发布时间】:2015-02-01 20:48:19
【问题描述】:

所以我有一个脚本,可以将获取的数据加载到锚点内的跨度中。

链接:

<a id="dbobject" tdbid="1">Weapon of mass destruction<span>fetch content goes here</span></a>

Jquery:

$(document).ready(function(){
            $('a[tdbid]').each(function(){

            $(this).load('data/fetch.php?id='+ $(this).attr('tdbid'), function(){
            });
            });
        });

内容正在完美地加载到跨度中,当您将链接悬停时,它会显示其中包含内容的跨度。但我宁愿在链接之外有跨度,所以当你将鼠标从锚点上移开时,窗口就会消失,

现在,当您将鼠标悬停在它上面时,您还可以将鼠标定位在跨度内,如果该链接下方有更多链接,这对用户来说确实不友好。

我试过了:

链接:

<a id="dbobject" tdbid="1">Weapon of mass destruction</a><span>fetch content goes here</span>

Jquery:

$(document).ready(function(){
            $('a[tdbid]').each(function(){

            $(this).closest('span').load('data/fetch.php?id='+ $(this).attr('tdbid'), function(){
            });
            });
        });

这不起作用。但是在这样做的同时,我想,如果我想在悬停时显示该跨度,则必须将跨度默认设置为隐藏。所以没有链接的整个页面的跨度也会被隐藏,这不是我打算做的。

那么我怎样才能让我的悬停显示一个 div 里面有获取的内容呢?

【问题讨论】:

  • 我们不知道这个跨度在哪里,this 是什么,或者你在说什么,发布 HTML 怎么样?
  • 我已经更新了代码,很抱歉,我最初发布的内容确实不清楚。

标签: javascript jquery html css


【解决方案1】:

对于&lt;span&gt; 之后的&lt;a&gt; 使用:

$(document).ready(function(){
            $('a[tdbid] + span').each(function(){

            $(this).load('data/fetch.php?id='+ $(this).attr('tdbid'), function(){
            });
            });
        });

"closest" 返回最近的祖先。你需要的是下一个兄弟

【讨论】:

    猜你喜欢
    • 2023-03-20
    • 2013-06-28
    • 1970-01-01
    • 2020-11-04
    • 2010-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    相关资源
    最近更新 更多