删除标题标记工具提示

时间:2011-07-07 08:47:49

标签: javascript html css tooltip title

有没有办法从title属性中删除工具提示而不实际删除标题。

我有一个像这样的标题属性的链接

<a href="url" title="anotherURL"></a>

重要的是标题是完整的,因为我需要从那里读取网址。我找到的所有修复程序都是删除title属性并重用它,但在这种情况下,这是不可能的。

有什么想法吗?

3 个答案:

答案 0 :(得分:11)

一切都与浏览器有关。 浏览器,从浏览器规范和解释中将title视为工具提示。

如果你想处理这样的数据,你应该使用HTML5 way(你可以在任何其他文件类型中使用,因为它被忽略)并使用:

<a href="url" data-title="anotherURL"></a>

使用data-属性,没有工具提示,因为title未被使用,您可以轻松地使用:

$("a").attr("data-title")

但是,你需要转换东西,你说你不能/不能这样做。

您可以轻松将所有title转换为data-title并使用

清除标题
$("a").attr("data-title", function() { return $(this).attr("title"); } );
$("a").removeAttr("title");

(所有代码都与jQuery Framework一起使用)

答案 1 :(得分:3)

由于您没有将此问题标记为,我假设您对纯JavaScript解决方案持开放态度?

下面的工作(在Ubuntu 11.04上)在Firefox 5,Chromium 12和Opera 11中,我无法在IE中测试,但是因为我正在使用querySelectorAll()我怀疑它不会工作得很好,如果有的话。但是:

var titled = document.querySelectorAll('[title]'); // gets all elements with a 'title' attribute, as long as the browser supports the css attribute-selector
var numTitled = titled.length;

for (i=0; i<numTitled; i++){
    titled[i].setAttribute('data-title',titled[i].title); // copies from 'title' to 'data-title' attribute
    titled[i].removeAttribute('title'); // removes the 'title' attribute
}

JS Fiddle demo


参考文献:

答案 2 :(得分:0)

为什么不使用jQuery将此信息从title移至元素data

在元素加载上运行:

$(el).data('url', $(el).attr('title')).attr('title', '');

然后读取这样的URL:

$(el).data('url');

变量el这里是DOM元素或元素选择器。