我想要定義一個JQuery語句來查找比輸入值更大(或更小)font-size
的元素。查找具有比指定的更大的字體大小的元素
可能的輸入值:
"12px"
"14pt"
"120%"
and so on...
我的第一種方法更是一個草案,因爲它不能以這種方式工作。但是,也許你有想法如何實現解決方案。這是我到目前爲止(輸入值來自其他地方,是可變的):
$('*').filter(function() {
return $(this).css('font-size') > '12px';
})
任何人?
更新
我被要求解釋爲什麼需要這樣的事情。我正在用Java編寫一個使用Selenium2的API,它能夠以更簡單,更可靠的方式查找元素並與它們交互。此功能將允許我編寫代碼,如browser.find().titleElements()
,它選擇所有h1
,h2
,...標記,但也包含比頁面上的平均文本更大的字體大小的元素。
該框架也將提供功能,以選擇其是在視覺上彼此接近或在特定方向上的元素:
HtmlElement nameLabel = browser.find().labelElement("name");
HtmlElement nameInput = browser.find().closestInputElement(nameLabel);
nameInput.below("tos").select();
這對於相對字體大小來說會非常棘手。 Crescent Fresh對此的迴應問:http://stackoverflow.com/questions/1313995/how-can-i-get-the-font-size-of-an-element-as-it-was-set-by-css詳細介紹了jQuery如何總是返回字體大小的像素值。所以對於jQuery,我認爲你需要一種方法來讓你的pt,em,pct等輸入類型轉換爲像素,這是我無法想象的。正如那個答案指出的那樣,可能有一個IE瀏覽器,非jQuery的方式來做到這一點。 – Faust 2011-05-23 10:28:30