1

我有一组段落元素

<p style="font-family:Tahoma; font-size:10.666666666666666; margin:0 0 0 0;">
<p style="font-family:Tahoma; font-size:10.666666666666666; margin:0 0 0 0;">
<p style="font-family:Tahoma; font-size:10.666666666666666; margin:0 0 0 0;">
<p style="font-family:Tahoma; font-size:10.666666666666666; margin:0 0 0 0;">

我必须px在字体大小程度之后写。我无法使用我当前的代码

loop
$(this).css("font-size") 

我不能使用它,因为它显示了父级的字体大小div

4

2 回答 2

3

有两种明显的方法,第一种是查看style属性,搜索字符串后面的数字,font-size:然后用它自己替换那个字符串,尽管添加px了它:

$('p').attr('style',function(i,s){
    return s.replace(/font-size:\s*(\d+.{0,1}\d*)/, function(a){
        return a + 'px';
    });
});

JS 小提琴演示

第二种选择几乎相同,尽管它直接使用内联css()方法font-size通过查找字符串font-size:和以下数字来font-size:设置font-size

$('p').css('font-size',function(){
    var s = $(this).attr('style').match(/(?:font-size:)s*(\d+.{0,1}\d*)/)[0].replace(/font-size:/,'');
    return s + 'px';
});

JS 小提琴演示

于 2013-03-29T17:56:54.150 回答
1

这将读取当前值,将“px”附加到它,然后重新分配它。

$(parent).children('p').each(function(){
    $(this).css("font-size", $(this).css("font-size") + "px");
});
于 2013-03-29T17:04:52.910 回答