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

明白なアプローチが 2 つあります。1 つ目は、文字列に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 フィドルのデモ

2 番目の方法はほとんど同じですが、インラインcss()メソッドを直接使用して、文字列とそれに続く数字をfont-size検索し、文字列を削除して を設定します (その文字列に続く数字にプロパティを設定し、それに 'px' を追加します)。 :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 に答える