如何将由 <br><Br> 分隔的文本节点与它们自己的 <p> 标记包装起来
How can I wrap text nodes separated by <br><Br> with their own <p> tags?
我有来自无法修改的 Web 服务返回的内容,返回的数据如下:
<div id="entrance" style="">
Habilitação / Diploma de Ensino Medio Diploma de Ensino Pre Universitario
<br>
<br>
Diploma Record of study
</div>
如何使用 jQuery 将这两个句子包装在单独的
标签中?我知道我可以使用 .wrap,但这会包装整个内容。我需要正则表达式吗?
谢谢托马斯
更新:
我的要求更改为需要列表而不是段落,因此使用下面的答案,我稍微修改了它以包装
jQuery('#entrance').show();
jQuery('#entrance').html(data).contents().each(function () {
if ( this.nodeType === 3 ) jQuery( this ).wrap( '<li />' );
else jQuery( this ).remove();
});
jQuery('#entrance').wrapInner('<ul />');
怎么样:
$( '#entrance' ).contents().each(function () {
if ( this.nodeType === 3 && $.trim( this.data ) !== '' ) {
$( this ).wrap( '<p />' );
} else {
$( this ).remove();
}
});
现场演示:http://jsfiddle.net/ZMD6m/5/
我的代码将所有非空文本节点转换为包含该文本的段落。将删除所有其他类型的节点。
此方法使用$(this).text()
来查找每个子元素的长度。如果为零,则将其删除,否则将其包装在段落中:
$('#entrance').contents().each(function(i,el) {
if ($.trim($(this).text()).length) {
$(this).wrap('<p>');
} else {
$(this).remove();
}
});
http://jsfiddle.net/mblase75/ZMD6m/3/
相关文章:
- 按我自己的类克隆另一个元素的内容和顺序
- 如何配置分析以将数据发送到我自己的服务器
- 如何使用jquery ajax和jsonp在您自己的域上读取json数据
- 创造自己的智能
- 如何在Win8Metro应用程序的Javascript代码中捕获自己的C#事件
- 从自己的安全系统中重新找回自己
- 麻烦将coffee脚本片段移动到rails中自己的类中
- 从我自己的脚本中包含的Javascript文件中调用一个函数
- 让我自己的过滤器不工作
- 消隐数组元素是否生成自己的属性
- JavaScript子对象访问自己的值
- Selenium异步脚本在自己的线程中阻塞其他脚本
- 为什么对象的函数值没有自己的作用域
- 我怎样才能给数组中的每个对象赋予它们自己的键
- 制作我自己的加密/解密系统
- 我如何才能使数组中的按钮只对其作出响应'使用javascript的自己的包装器
- NodeJS:一个全局EventEmitter或每个模块它'他自己的
- 如何将我自己的按钮连接到下载库
- PHP脚本在Lion上通过Ajax运行时会回显自己的内容
- 如何将由
分隔的文本节点与它们自己的标记包装起来