HTML 这样
<div>
<span> thanks </span>
a lot
</div>
但是通过 $("div").text();
结果把 span 标签里的内容也输出了
如何只获取 a lot
?
1
wellsc 2016-03-18 19:43:48 +08:00 via Android
看 api 文档去吧。
|
2
yangg 2016-03-18 20:06:44 +08:00 via iPhone 1
非 IE 可以$(div)[0].childNodes[1].nodeValue IE 要清空文本节点
|
3
icebitch OP @yangg 谢谢!!! 我就在 Firefox 下写个小脚本..组合替换下标题
请问这方面的内容要搜什么看呢 , 我看的 W3 教程 , 没有提到这种用法的~ 搜索也搜索不来 , 嵌套标签什么的都搜不到可以参考的内容!!! |
4
Lpl 2016-03-18 20:19:30 +08:00
var $temp = $("div span");
$temp.remove(); console.log($("div").text()); $("div").prepend($temp); 大概就这个吧,思路是:先把 span 标签删除,然后获取 div 的内容,然后恢复 span 标签就可以了。由于操作很快,基本不会元素删除恢复的视觉效果。 建议尽量一个萝卜一个坑,一个值域一个标签 |
5
Kokororin 2016-03-18 20:19:36 +08:00
var clone = $('div').clone();
clone.children().remove(); console.log(clone.text()); |
6
chairuosen 2016-03-18 20:21:26 +08:00
换一种思路 $('div').clone().children().remove().end().text()
|
7
coolzjy 2016-03-18 20:56:54 +08:00
遍历下 childNode 取 nodeType 为 3 的即可吧
|
8
MOxFIVE 2016-03-19 02:34:38 +08:00
$("div").contents().not($("div").children()).text();
$("div").contents().filter(function(){return this.nodeType == 3;}).text(); http://codepen.io/MOxFIVE/pen/rejRZr?editors=1010 |