execCommand - 包含blockquote标签中包含标签的内容

时间:2012-12-15 14:24:12

标签: javascript contenteditable execcommand

我正在尝试在<blockquote>标记中包含一些选定的元素,但我认为可能有效的方法会替换现有标记而不是包装它们。

这是我的代码。

$("input[value='Quote']").on("click", function() {
    document.execCommand('formatBlock', false, '<blockquote>');
});

和...

<div contentEditable>
    <p>para 1</p>
    <p>para 2</p>
</div>

<input type="button" value="Quote" />

我想结束这样的事情......

<div contentEditable>
    <blockquote>
        <p>para 1</p>
        <p>para 2</p>
    </blockquote>
</div>

而不是以下我目前得到的......

<div contentEditable>
    <blockquote>
        para 1
        <br />
        para 2
    </blockquote>
</div>

由于

1 个答案:

答案 0 :(得分:1)

这应该这样做

$("input[value='Quote']").on("click", function() {
  $("<blockquote/>").insertBefore($("[contenteditable]").find("p:first")).append($("[contenteditable]").find("p"))
});