标签更换

时间:2009-11-04 10:43:47

标签: jquery html dom tags replace

有没有人知道如何使用Jquery为标记设置新的tagName?假设我有一个HTML文档,我想替换所有'fieldset'宽度'div'。 提前谢谢!

4 个答案:

答案 0 :(得分:3)

fs = $("fieldset");
for (i = 0; i < fs.length; i++) {
    var that = $(fs[i]);
    var fieldsetContent = that.html();
    that.replaceWith('<div>'+fieldsetContent+'</div>');
};

或尝试溢出此css修复css:

fieldset {
    display: table-column;
}
<!–[if IE]>
fieldset {
    display: block;
}

您可以设置其他样式。

答案 1 :(得分:0)

您可以使用replaceWithreplaceAll功能替换元素。

您必须手动将旧元素中的内容放置到新元素中。

$('fieldset').each(function(object){
    var html = this.html(); 
    this.replaceWith('div').html(html)
});

像这样的东西。代码未经过测试。

答案 2 :(得分:0)

尝试解决问题的根源可能不那么复杂,也更有效。我无法想象有一些硬编码到Firefox中会导致字段集被切断。我99%肯定这可以通过一些CSS得到帮助。也许你可以在Mozilla的论坛中找到更多信息或更多的现场帮助?也许用firebug检查fieldsets和div,并逐个比较它们的设置,有帮助吗?

答案 3 :(得分:0)

我不知道你在哪种环境,但最简单的方法是设置一个“打印视图”页面,动态读取原始HTML页面并在源代码中进行低级替换码?

在PHP中,它看起来像这样:

$body = str_replace("<fieldset>", "<div>", $body);
$body = str_replace("</fieldset>", "</div>", $body);

非常低级别,但如果HTML干净,则可以正常工作。