【问题标题】:Wrap between two tags jquery在两个标签jquery之间换行
【发布时间】:2016-01-31 03:28:05
【问题描述】:

如何使用 jquery 将“额外文本”包装在一个 div 中? 额外的文本可以不同,包含不同的html标签。

<i> text </i>
extra text
<p> text </p>

【问题讨论】:

  • 请使用搜索:[jquery] wrap text nodes
  • 我的问题是:为什么?
  • 处理一个站点的用户脚本,所以除了这种方式我不能改变布局

标签: javascript jquery dom


【解决方案1】:

您可以使用内容,并按节点类型过滤(3为文本节点):

但首先你必须用一个 div 包装整个 HTML:

<div class="demo"><i> text </i>extra text<p> text </p></div>

然后使用下面的脚本:

$( ".demo" )
  .contents()
  .filter(function(){
    return this.nodeType == 3;  
  })
  .wrap( "<div></div>" );

示例:jsfiddle

另请参阅:Node Types,在 MDC

【讨论】:

  • 请告诉我更清楚...是“额外文本”没有任何 html 标签或其中有任何 html 标签??
  • extra text 会是论坛的post text,所以里面可以包含h​​tml标签
猜你喜欢
  • 1970-01-01
  • 2014-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多