jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了jquery – 查找字体大小超过指定的元素大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图定义一个 JQuery语句来查找具有比输入值更大(或更小)字体大小的元素.

可能的输入值:

"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();

解决方法

我制作了一个插件,可以获取你要求的所有参数.不知道自从我匆忙做到这一点以来有多准确.如果你的DPI不是72,那么pt肯定会被关闭.

插件代码

(function($){
    $.fn.filterByFontSize = function(sizE){
        // Local scope vars
        var relative = false,matches = size
                .toString()
                .match(/^\d+(?:\.\d+)?(pt|em|%)$/i);

        // Parse size
        size = parseFloat(size,10);

        // check matches
        if (matches !== null) {
            switch (matches[1]) { 
                case "pt":
                    size = size*96/72;
                break;
                case "em":
                    relative = true;
                break;
                case "%":
                    relative = true;
                    size = (size/100)+0.01;
                break;
            }
        }

        // Filter elements accordingly
        return this.filter(function(){
            var $this = $(this),thisSize = parseInt(
                    $this.css("font-size"),10);
            if (relativE) {
                var parent = $this.parent();
                if (parent[0] === document) {
                    parent =  $(document.body);
                }
                var parentSize = parseInt(
                        parent.css("font-size"),10);
                return parentSize*size < thisSize;
            } else {
                return thisSize > size;
            }
        });

    };
})(jQuery);

用法

var bigTextElements = $("h1,h3,p").filterByFontSize("24px");

你可以在test case on jsFiddle中试一试.

converter的额外学分用于帮助优化.

大佬总结

以上是大佬教程为你收集整理的jquery – 查找字体大小超过指定的元素全部内容,希望文章能够帮你解决jquery – 查找字体大小超过指定的元素所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。