<ruby><rb>自分</rb><rp>(</rp><rt>じぶん</rt><rp>)</rp></ruby>
我想删除<ruby>标签,但我想保留内容。我想用<ruby>页面上的所有标签来做。
我什至不知道如何尝试,我想将 HTML 内容保存在变量中,用 删除<ruby>标签hide(),然后再次启动文本,但我不知道如何将其重新插入特定部分的文本。另外,我正在努力解决each.
我还想记住标签被删除的位置,以便稍后通过单击将它们取回。
<ruby><rb>自分</rb><rp>(</rp><rt>じぶん</rt><rp>)</rp></ruby>
我想删除<ruby>标签,但我想保留内容。我想用<ruby>页面上的所有标签来做。
我什至不知道如何尝试,我想将 HTML 内容保存在变量中,用 删除<ruby>标签hide(),然后再次启动文本,但我不知道如何将其重新插入特定部分的文本。另外,我正在努力解决each.
我还想记住标签被删除的位置,以便稍后通过单击将它们取回。
使用unwrap功能:
$('ruby').unwrap();
编辑:
类似地遵循上面链接中的教程示例怎么样?
pTags = $('ruby');
if ( pTags.parent().is("span") ) {
  pTags.unwrap();
  pTags.wrap("<ruby></ruby>");
} else {
  pTags.unwrap();
  pTags.wrap("<span class='unwrapped_ruby'></span>");
}
打开<ruby>标签并用占位符<span>标签包装它。
更新1:
好吧,我以前的代码有正确的“伪代码”,但我测试了它,它不能正常工作。相反,我不得不做这样的事情:
pTags = $('ruby');
var content = pTags.contents();
$("button").click(function () {
    if (content.parent().is("span")) {
        content.unwrap().wrapAll("<ruby></ruby>");
    } else {
        content.unwrap().wrapAll("<span class='unwrapped_ruby'></span>");
    }
});
更新 2:
更新 1 没有考虑多个<ruby>标签。我已经更新了代码,使其适用于多个 ruby 标签以及嵌套<ruby>标签!
var wrapper = $('ruby');
var content;
$("button").click(function () {
    wrapper.each(function () {
        content = $(this).contents();
        if (content.parent().is("span")) {
            content.unwrap().wrapAll("<ruby></ruby>");
            wrapper = $('ruby');
        } else {
            content.unwrap().wrapAll("<span class='unwrapped_ruby'></span>");
            wrapper = $('span.unwrapped_ruby');
        }
    });
});
试试jsfiddle
如果您只是想删除 ruby 标签,您可以执行以下操作:
$(document).ready(function(){
    var cont = $('ruby').contents().unwrap();
    $('html').append(cont)
});