2012-12-15 185 views
3

我试图在<blockquote>标签中包装一些选定的元素,但我认为可能会使用的方法取代了现有标签而不是包装它们。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> 

谢谢

+0

汤姆,如果下面的答案帮助,请你接受吗? –

回答

1

这应该这样做

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