有没有人知道如何使用Jquery为标记设置新的tagName?假设我有一个HTML文档,我想替换所有'fieldset'宽度'div'。 提前谢谢!
答案 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)
您可以使用replaceWith或replaceAll功能替换元素。
您必须手动将旧元素中的内容放置到新元素中。
$('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干净,则可以正常工作。