2

我想写一个书签来纠正其他人页面上的文本样式。特别是,我想找到任何带有“text-align:justify”的元素并将它们更改为“text-align:left”。我不确定如何找到这些元素。因为这是一个可在任意网页上使用的书签,我宁愿不依赖任何 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并将边框设置为红色。它应该足够让你开始。注意:这不是很有效,但是对于您的请求没有很好的有效解决方案。要提高性能,请尝试仅搜索相关标签。(也许你只需要检查 Ps 和 DIVs ?)

// 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 回答