如何从div中的所有链接中删除“title”属性?

时间:2012-12-16 10:09:14

标签: javascript

所以我有一个div #footer-float,我只想在页面加载时自动删除所有“title”属性,而不编辑链接本身的标记(它们由MediaWiki自动生成) )。基本上,小工具提示是突兀的,并妨碍了阅读链接所说的内容。

我认为,使用jQuery可以很容易地做到这一点,但是当我可能会使用它时,我宁愿不加载整个库。

有什么想法吗?感谢。

3 个答案:

答案 0 :(得分:2)

这是一个相当简单的递归函数:

// 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&#34 ;.

答案 1 :(得分:1)

您可以通过循环遍历所有链接元素并将标题设置为空字符串来删除所有标题:

function onLoad() {
  var div = document.getElementById('footer-float');
  var links = div.getElementsByTagName('a');
  for(var i = 0; i < links.length; i++) {
    links[i].title = '';
  }      
}

答案 2 :(得分:0)

(function(){
    var links = document.getElementById("footer-float").getElementsByTagName("a");

for(var i = 0; i < links.length; i++){
    links[i].removeAttribute("title");
}
    console.log(links);
})();

示例:

http://jsfiddle.net/udyZa/6/