如何使用以像素(例如:font-size: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 */
});
我准备了a jsFiddle
我发现其他答案很有用Find elements which have greater font-size than specified
答案 0 :(得分:2)
JQuery .css('font-size')
始终返回像素,即使原始大小是使用不同的单位定义的。我会改用.attr('style')
(仅适用于内联样式):
var result = $('*').filter(function () {
var style = $(this).attr('style');
return /font-size:[^;]+px/.test(style);
});
答案 1 :(得分:2)
您可以在样式属性上尝试indexOf
:
$('.parent').each(function (index, value) {
if (/font-size:[^;]+px/.test($(this).attr('style'))) {
alert(index + ": " + $(this).attr('style'));
}
});