javascript - jquery 中使用 <p> 标签包裹内容,而不是使用 &lt;header&gt; 标签包裹内容

标签 javascript jquery html

在编辑器中,如果用户键入内容并希望使用“p”标签包装内容,而该标签在 jquery keyup 事件中不使用 header 标签包装。

例如

<h1>Header1</h1>
Test content Test content Test content 
<h3>Header3</h3>
<h2>Header2</h2>
New content New content New content
<br/>
<br/>
<h4>Header4</h4>

生成的 html:

<h1>Header1</h1>
<p>Test content Test content Test content </p>
<h3>Header3</h3>
<h2>Header2</h2>
<p>New content New content New content</p>
<p></p>
<p></p>
<h4>Header4</h4>

最佳答案

如果您的 HTML 标记包含在 <div> 内例如:

<div id="content">
    <h1>Header1</h1>
    Test content Test content Test content       
    <h3>Header3</h3>
    <h2>Header2</h2>
    New content New content New content
    <br/>
    <br/>
    <h4>Header4</h4>
</div>

然后你可以使用.contents() .filter() 完成你的任务:

$('#content').contents().filter(function() {
    return this.nodeType === 3 && $.trim(this.nodeValue).length;
}).wrap('<p />');

<强> Fiddle Demo

关于javascript - jquery 中使用 <p> 标签包裹内容,而不是使用 &lt;header&gt; 标签包裹内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22813366/

相关文章:

javascript - 设计聊天窗口

Android 使用 JSoup 解析 html 表格

javascript - 表中的 Angular ng-repeat 用数组迭代键

javascript - 从导入的文件访问 vue

javascript - 如何使文本框的值等于数字1

jquery - multiselect.js 更改后刷新

javascript - 使用 JavaScript 创建 CSS 选择器

javascript - 需要通过鼠标拖动选择google散点图中点的范围

javascript - 在 iframe 中加载 Highcharts

html - 悬停时图像上的部分 "X"形状