我想写一个书签来纠正其他人页面上的文本样式。特别是,我想找到任何带有“text-align:justify”的元素并将它们更改为“text-align:left”。我不确定如何找到这些元素。因为这是一个可在任意网页上使用的书签,我宁愿不依赖任何 Javascript 库(jQuery 等)来提供帮助。
问问题
176 次
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 回答