HTML 这样
<div> <span> thanks </span> a lot </div> 但是通过 $("div").text(); 结果把 span 标签里的内容也输出了 如何只获取 a lot?

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