1

我有一个带有这一行的 HTML:

<FONT size=4>Hello</FONT>
<FONT size=5>Hello</FONT>

我想使用 jQuery 来替换字体:

如果字体大小 = 4 替换为<h2 class="h2class">Hello</h2> 如果字体大小 = 5 替换为<h3 class="h3class">Hello</h3>

我一直在尝试像这样使用 replaceWith() 函数:

$('font').replaceWith('<h2 class="h2class"></h2>'); 

但是后来我丢失了文本,我也无法弄清楚如何检查字体大小。

所以,有两个问题:1.如何根据字体大小有条件地执行此操作 2.如何在不丢失原始文本的情况下执行此操作。

谢谢

4

3 回答 3

2

尝试

$('font[size="4"]').replaceWith(function(){
    return $('<h2 />', {"class": "h2class"}).append($(this).contents())
});
$('font[size="5"]').replaceWith(function(){
    return $('<h3 />', {"class": "h3class"}).append($(this).contents())
});
于 2013-10-03T11:05:35.600 回答
0

你可以这样做:

$('font').wrapInner('<h2 class="h2class" />').children().unwrap();
于 2013-10-03T11:05:20.817 回答
0
$('font').replaceWith(function(i, content) {
    var tag = +$(this).attr('size')===5 ? 'h2' : 'h3';
    return $('<'+tag+'/>', {
        'class': tag+'class',
        text: content
    });
});
于 2013-10-03T11:10:53.947 回答