3

这是我的代码:

<img src="image.jpg" alt="" title="some title" />

当我悬停该图像时,会出现“某个标题”。有可能被隐藏吗?

4

8 回答 8

6

正如一些答案所指出的那样,它可以很容易地完成,但是知道你想对标题做什么,我会使用 data-* 自定义属性或使用 .data() 附加标题

<img src="image.jpg" alt="" data-title="some title" />

或者

$('img').data('title', 'some title');
于 2012-06-29T07:29:59.120 回答
4

删除该属性很简单title,但“隐藏它”是不可能的(据我所知);为了删除标题,以下应该可以工作,尽管目前未经测试:

$('img').hover(
    function(){
        $(this).data('originalTitle',$(this).title());
        $(this).removeAttr('title');
    },
    function(){
        $(this).attr('title',$(this).data('originalTitle');
    });

在上面我选择移动属性,然后在鼠标移出时替换它。

title要永久删除:

$('img').removeAttr('title');

参考:

于 2012-06-29T07:22:50.140 回答
4

如果只是悬停问题,您可以pointer-events: none;在图像上制作,它将解决问题。

于 2019-12-19T11:02:16.880 回答
3

您可以将其移动到图像数据......然后返回。像那样

$('img').hover(
  function () {
    $(this).data('title',$(this).attr('title')).removeAttr('title');
  }, 
  function () {
    $(this).attr('title',$(this).data('title'));
  }
);
于 2012-06-29T07:23:34.993 回答
1

是的!使用 jQuery,您可以在鼠标悬停时将其删除并在鼠标输出时再次添加 -

$(function(){
  var ttext;
  $('img').hover(function(){
    ttext = $(this).attr('title');
    $(this).removeAttr('title');
  },
  function(){
    $(this).attr('title', ttext);
  });
});
于 2012-06-29T07:23:10.403 回答
0

不,不是。但是您可以将其替换为 JavaScript,或者将其留空。

jQuery 示例:

$('[title]').removeAttr('title');
于 2012-06-29T07:22:45.843 回答
0

有点搞笑的是,在 Stack Overflow 上,五个人可以同时给出相同的答案:P

$(function(){
    $('img').hover(function(){
        $(this).removeAttr('title');
    }, function(){
        $(this).attr('title','some title');
    });
});
于 2012-06-29T07:23:46.440 回答
0

我至少在 Chrome 上尝试并使用了 jQuery / jQuery UI:

  1. 创建您想要(和不想要)有标题的对象。
  2. 一旦所有这些项目都存在,添加一个工具提示。
  3. 浏览所有您不希望工具提示以通常方式显示的项目,并将工具提示设置为''.

我的代码中的示例,在命名的 HTML 元素可用之后发生:

jQuery(document).tooltip();
for(var index = 0; index < sites.length; ++index) {
    jQuery('#' + sites[index][0]).attr('title', '');
}
于 2016-02-06T17:32:30.870 回答