jquery匹配以px为单位的样式字体大小的元素

jquery match elements with style font-size in px

本文关键字:样式 字体 元素 为单位 px jquery      更新时间:2023-09-26

如何以像素为单位定义内联风格字体大小(例如:字体大小:12px)的元素为目标,以便在单击按钮时修改字体大小。

有人能帮助完成这个javascript代码吗:

html

<div class='parent' style='font-size:15px'>
    <div>div 1 no inline styling</div>
    <div style='font-size:1em'>div 2 inlined font-size 1em</div>
    <div class='div-3'>div 3, CSS font-size:14px;</div>
    <div style='font-size:22px'>div 4 inlined font-size 22px</div>
    <div style='font-size:16pt'>div 5 inlined font-size 16pt</div>
    <div style='font-size:80%'>div 6 inlined font-size 80%</div>
</div>
<div id="output_box"></div>

javascript

$('*').filter(function() {
     /*var a-match-in-px-units = some-regular-expression-someelse-can-help-about;*/
     return $(this).css('font-size') == '11';
    $('#output_box').html($(this));
});
$("#trigger").click(function() {
    alert('to initialize font-size in px to bigger/lesser unit function()');    
   /* This is to apply font-resizing */     
});

我准备了一个jsFiddle

我发现另一个答案很有用,可以查找字体大小大于指定的元素

JQuery .css('font-size')总是返回像素,即使原始大小是用不同的单位定义的。我会使用.attr('style')(仅适用于内联样式):
var result = $('*').filter(function () {
    var style = $(this).attr('style');
    return /font-size:[^;]+px/.test(style);
});

下面是一个演示:http://jsfiddle.net/wared/8LcD9/.

您可以在样式属性上尝试indexOf

$('.parent').each(function (index, value) {
    if (/font-size:[^;]+px/.test($(this).attr('style'))) {
        alert(index + ": " + $(this).attr('style'));
    }
});

这是演示Fiddle