我想要定义一个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