<p> aaaaa <div>bbbbb</div> ccccc <div>ddddd</div> eeeee </p>
如何能只取p标签里的文本也就是aaaaabbbbbccccc,
如果直接用jquery的text()方法会将div里的文本也取出来。
最好不要采用删除div标签的方式,也不要采用html()出来所有文本,再用正则去筛选。
谢谢!
<p> aaaaa <div>bbbbb</div> ccccc <div>ddddd</div> eeeee </p>
如何能只取p标签里的文本也就是aaaaabbbbbccccc,
如果直接用jquery的text()方法会将div里的文本也取出来。
最好不要采用删除div标签的方式,也不要采用html()出来所有文本,再用正则去筛选。
谢谢!
2 回答2.2k 阅读
1k 阅读
首先在p里面嵌套div是不正确的做法。
你可以试试 $('p').length//2
因为浏览器会自动进行纠错如下(Chrome):
另外aaaaa,eeeee建议用span或者p包含起来。直接的文字节点不符合语义的做法。而且在进行DOM处理时会增加一些工作,这里文字左右是不可见的换行符。最重要的是,jQuery中的选择器是不会选择文本节点的,只能使用contents+filter了,使用contents操作有性能有影响,慎用。
将p改成div时可以这样做:
http://jsfiddle.net/5dkMB/