所以我有一个 div, #footer-float
,我只想在页面加载时自动删除所有“标题”属性,而不编辑链接本身的标记(它们是由 MediaWiki 自动生成的)。基本上,小工具提示很突兀,妨碍阅读链接所说的内容。
我认为,我可以使用 jQuery 轻松做到这一点,但我宁愿不加载整个库,因为这可能是我将使用它的全部。
有任何想法吗?谢谢。
所以我有一个 div, #footer-float
,我只想在页面加载时自动删除所有“标题”属性,而不编辑链接本身的标记(它们是由 MediaWiki 自动生成的)。基本上,小工具提示很突兀,妨碍阅读链接所说的内容。
我认为,我可以使用 jQuery 轻松做到这一点,但我宁愿不加载整个库,因为这可能是我将使用它的全部。
有任何想法吗?谢谢。
这是一个相当简单的递归函数:
// Clear the "title" on all child elements.
function removeTitleOnChildren(node) {
var child;
for (child = node.firstChild; child; child = child.nextSibling) {
if (child.nodeType === 1) { // Element
if (child.nodeName === "A") { // An "a" element
child.title = "";
}
removeTitleOnChildren(child);
}
}
}
用法:
removeTitle(document.getElementById("footer-float"));
(以上假设是 HTML,而不是 XHTML;它对 很重要nodeName
,它在 XHTML 中是“a”。)
您可以通过遍历所有链接元素并将标题设置为空字符串来删除所有标题:
function onLoad() {
var div = document.getElementById('footer-float');
var links = div.getElementsByTagName('a');
for(var i = 0; i < links.length; i++) {
links[i].title = '';
}
}
(function(){
var links = document.getElementById("footer-float").getElementsByTagName("a");
for(var i = 0; i < links.length; i++){
links[i].removeAttribute("title");
}
console.log(links);
})();
</p>
例子: