当标签内有嵌套的子标签的情况下,如何用jquery检索纯文本内容
2015-03-11 13:40
253 查看
如以下代码所示,id为tidy的<a>标签中既存在<span>标签,又存在“This is some text”的文本。那么问题来了,怎么用jquery只取“This is some text”的文本,而不取<span>里的内容?
方法一:使用.html()取到a标签中的所有内容后,用正则表达式筛选出不被有"<"、">标签包围的内容,并去掉换行符。
评价:初步达到目标,解决问题的工具更多还是正则表达式,并且由于正则表达式的制约,该方法适用性较窄。
方法二:复制整个<a>,然后去掉a标签的子标签,再用.text()获得所需文本。
评价:达到目标,但是对原表签的操作是只读的,不能对原标签中的文本进行修改。
方法三:复制整个<a>,然后去掉a标签的子标签,再用.text()获得所需文本。
评价:达到目标,能对原标签中的文本进行读写操作,但是nodeValue是js的属性。
<a id="tidy">[/code]
<span id="Span1">First span text</span>[/code] This is some text <span id="Span2">Second span text</span></a>
方法一:使用.html()取到a标签中的所有内容后,用正则表达式筛选出不被有"<"、">标签包围的内容,并去掉换行符。
$("#tidy").html().replace(/<.*>*<.*>|\s/g,"");
评价:初步达到目标,解决问题的工具更多还是正则表达式,并且由于正则表达式的制约,该方法适用性较窄。
方法二:复制整个<a>,然后去掉a标签的子标签,再用.text()获得所需文本。
<span style="font-size:14px;">$("#tidy") .clone()//复制a标签 .children()//找到所有子标签 .remove()//删除所有子标签 .end()//退回上一匹配元素 .text();//取到所需文本</span>
评价:达到目标,但是对原表签的操作是只读的,不能对原标签中的文本进行修改。
方法三:复制整个<a>,然后去掉a标签的子标签,再用.text()获得所需文本。
$("#tidy").contents().filter(function(){ return this.nodeType == 3; })[0].nodeValue = "The text you want to replace with"
评价:达到目标,能对原标签中的文本进行读写操作,但是nodeValue是js的属性。
相关文章推荐
- jquery删除指定的html标签并保留标签内文本内容的方法
- 如何使用jQuery去掉指定标签里所有文字内容对应的链接,即去掉<a>标签
- 如何去除html标签得到纯文本内容
- jQuery获取标签文本内容和html内容的方法
- jquery删除指定的html标签并保留标签内文本内容的方法
- JQuery如何监听标签内容变化
- 转载:jquery如何来获取label标签里的内容 checkbox选中后获取label标签内容
- 如何使用JS脚本从HTML中分离图片标签与文本,替换文本中指定的内容并加粗(原创)
- 转:Jquery如何获取某个元素前(后)的文本内容?
- jQuery获取标签里面的某个文本内容
- Jquery如何获取某个元素前(后)的文本内容
- Golang 页面模板之模板中如何插入数据,输出嵌套字段内容?以及神奇的减号“-”,如何去掉Go Template生成的标签换行符
- 爬虫奇遇记——如何按照标签的文本内容来抓取
- jquery 如何将文本置换为input框,并修改其内容
- 用jquery如何获取select元素中当前选择的文本内容
- 内容页嵌套母版页时,内容页如何调用css和javascript
- UTF8文本文件内容检索!
- 网页解析:如何获得网页源码中嵌套的标签。
- struts2 迭代器标签iterator嵌套 如何加选择性参数和名称冲突问题的解决
- 如何用正则获取span标签内容????????