我想寫一個書籤來糾正他人網頁上的文本樣式。特別是,我想找到任何帶有「text-align:justify」的元素,並將它們更改爲「text-align:left」。我不知道如何找到這些元素。因爲這是一個在任意網頁上使用的書籤,所以我寧願不依賴任何Javascript庫(jQuery等)來提供幫助。如何找到所有具有特定CSS樣式但沒有JS庫的元素?
回答
這將找到與text-align: justify
的所有元素,並將邊框設置爲紅色。它應該足以讓你開始。 注意:這不是非常有效,但沒有一個好的有效的解決方案來處理您的請求。爲了提高性能,請嘗試僅搜索相關標籤。 (也許你只需要檢查Ps和資料覈實?)
// 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';
}
}
這裏:
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';
}
});
'document.getElementsByTagName'不會更快和/或更高效嗎?這並不重要,我只是想知道,因爲這是一個本地方法 – Ian
@ianpgall我不知道哪一個會更有效率,但我希望兩者都相當快。 –
不是瀏覽器agnostik – 2012-09-17 09:05:49
- 1. 如何爲具有特定樣式的所有元素添加CSS類
- 2. 如何使用jQuery找到具有特定類和CSS樣式的元素?
- 3. 如何找到jQuery中沒有特定CSS類的所有元素?
- 4. 查找具有特定子元素但沒有文本節點的元素
- 5. 如何找到具有特定值的所有元組?
- 6. 如何在沒有CSS的父元素中爲所有項定義樣式
- 7. Css清除特定元素的所有樣式
- 8. 使用jQuery選擇具有特定CSS的所有元素
- 9. 硒查找具有特定屬性的所有元素
- 10. jQuery查找具有特定類的所有元素
- 11. 如何選擇具有特定內聯樣式的元素?
- 12. 如何禁用特定元素組的所有樣式
- 13. CSS - 選擇具有特定類的元素後裔的所有元素?
- 14. 找到所有使用特定css選擇器的元素
- 15. 如何隱藏所有具有特定屬性集的元素?
- 16. 如何查找具有指定backgroundImage的所有元素
- 17. 查找具有指定嵌套子元素的所有元素
- 18. 如何在編碼的UI中找到所有具有CSS類的元素?
- 19. jQuery如何找到具有特定動作的元素的類
- 20. 如何找到具有特定窗口樣式的窗口? (WS_CHILDWINDOW)
- 21. 將類添加到具有特定ID的所有元素jQuery
- 22. 如何找到具有特定屬性值的子元素
- 23. 找到子元素h2文本具有特定值的元素
- 24. 如何使用jquery查找具有特定類的所有div元素
- 25. jquery複雜選擇器,如何找到具有特定ID的元素內的所有元素?
- 26. ClearCase:如何找到沒有特定標籤的元素
- 27. 隱藏父,如果所有li子元素具有CSS樣式顯示:無
- 28. 如何將樣式綁定到任何datacontext具有樣式元素的屬性?
- 29. 查找具有(或沒有)特定所有者的文件
- 30. 所有的CSS樣式規則從一個div元素剝離,但沒有其他元素
如果你試圖讓內容更具可讀性,你可以永遠只是使用http://readability.com – Mark
@Mark:謝謝,我知道readability.com,Evernote也有類似的服務。我想嘗試我自己的解決方案。 –
爲什麼沒有圖書館?你自己的解決方案不會成爲圖書館嗎? – 2013-06-26 21:56:15