2

他の人のページのテキストスタイルを修正するためのブックマークレットを作成したいと思います。特に、「text-align:justify」の要素を見つけて、「text-align:left」に変更したいと思います。しかし、それらの要素を見つける方法はわかりません。これは任意のWebページで使用されるブックマークレットであるため、Javascriptライブラリ(jQueryなど)に頼る必要はありません。

4

2 に答える 2

1

ここ:

var walkTheDOM = function walk ( node, func ) {
    if ( node.nodeType !== 1 ) return;
    func( node );
    node = node.firstChild;
    while ( node ) {
        walk( node, func );
        node = node.nextSibling;
    }
};

walkTheDOM( document.body, function ( elem ) {
    if ( getComputedStyle( elem ).textAlign === 'justify' ) {
        elem.style.textAlign = 'left';
    }
});

ライブデモ: http: //jsfiddle.net/W3BUe/1/

于 2012-09-16T21:32:36.923 に答える
1

これにより、のすべての要素が検索text-align: justifyされ、境界線が赤に設定されます。始めるには十分なはずです。注:これはあまり効率的ではありませんが、リクエストに対する適切な効率的な解決策はありません。パフォーマンスを向上させるには、関連するタグのみを検索してみてください。(たぶん、PとDIVをチェックするだけでいいですか?)

// Get all elements
var els = document.getElementsByTagName('*');
// Search for style: text-align = justify.
for(var i = 0, el; el = els[i]; i++) {
    if(getComputedStyle(el).textAlign == 'justify') {
        el.style.border = '1px solid #f00';
    }
}
于 2012-09-16T21:29:17.973 に答える