-6

#footer-floatしたがって、リンク自体のマークアップを編集せずに、ページの読み込み時にすべての「タイトル」属性を自動的に削除したいdiv があります (MediaWiki によって自動的に生成されます)。基本的に、小さなツールチップは邪魔で、リンクの内容を読むのに邪魔になります。

これは jQuery で十分に簡単に実行できると思いますが、ライブラリ全体をロードするのは、これだけに使用する可能性が高い場合は避けたいと思います。

何か案は?ありがとう。

4

3 に答える 3

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"));

(上記は XHTML ではなく HTML を想定しています。XHTML ではnodeName"a" となる が重要です。)

于 2012-12-16T10:13:40.777 に答える
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 = '';
  }      
}
于 2012-12-16T10:16:50.990 に答える
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);
})();

</p>

例:

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

于 2012-12-16T10:17:49.193 に答える