是否有可能隐藏与CSS的链接标题?(Is it possible to hide the title

2019-07-21 09:46发布

我有一个标题属性的定位元素。 我想隐藏在浏览器窗口盘旋在它时出现的弹出窗口。 在我来说,这是不可能做这样的事情,

$("a").attr("title", "");

因为jQuery Mobile的某些事件发生后标题又会重新出现(基本上每次锚元素被重新绘制)。 所以我希望隐藏通过CSS的标题。

就像是:

a[title] {
    display : none;
}

不工作,因为它隐藏整个锚元素。 我只想隐藏标题。 这甚至可能吗? 弹出窗口不应该显示。

Answer 1:

使用下面的CSS属性将确保title属性的文本不悬停时出现:

pointer-events: none;

请记住,JS是一个更好的解决方案,因为这个CSS属性将确保元素是从来没有任何鼠标事件的目标。



Answer 2:

按@ boltClock的建议,我会说,我不觉得一个CSS的解决方案是适用于本案,因为浏览器决定如何处理链接的为此事title属性,或任何事。 CSS,据我所知,是无法处理这个问题。

如前所述,使用jQuery与空字符串不会工作,更换标题因为jQuery移动在某些点上重写它们。 然而,这将独立JQM的工作,不涉及彻底消除这是SEO重要的title属性。

这工作:

$('a["title"]').on('mouseenter', function(e){
    e.preventDefault();
});

我改变了我的最初代码$('body').on('mouseenter')这个测试之后。 这是确认工作。



Answer 3:

你可以用你内心的文字跨度,给一个空的title属性。

<a href="" title="Something" class=".some-tooltip-class"><span title="">Your text</span></a>


Answer 4:

在CSS中这是不可能的,因为你只能用内容添加到DOM(tipically :before :aftercontent: '...';不能删除或更改属性。

唯一的方法是创建一个自定义的直播活动(上课。 "change-something" ):

$("a").on("change-something", function(event) { this.removeAttr("title"); });

并触发每一个变化:

... $("a").trigger("change-something");

更多信息和演示在这里:

http://api.jquery.com/trigger/
http://api.jquery.com/removeAttr/



Answer 5:

尝试使用这种更改代码

$(document).ready(function() {
    $("a").removeAttr("title");
});

这将删除标题属性,这样的提示标签将不会出现在悬停链接



文章来源: Is it possible to hide the title from a link with CSS?