有没有办法从title属性中删除工具提示而不实际删除标题。
我有一个像这样的标题属性的链接
<a href="url" title="anotherURL"></a>
重要的是标题是完整的,因为我需要从那里读取网址。我找到的所有修复程序都是删除title属性并重用它,但在这种情况下,这是不可能的。
有什么想法吗?
答案 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)
由于您没有将此问题标记为jquery,我假设您对纯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
}
参考文献:
答案 2 :(得分:0)
为什么不使用jQuery将此信息从title
移至元素data
。
在元素加载上运行:
$(el).data('url', $(el).attr('title')).attr('title', '');
然后读取这样的URL:
$(el).data('url');
变量el
这里是DOM元素或元素选择器。