我有这个HTML:
<div class="one">32<span class="one_span"> Years old</span></div>
我希望能够选择没有span文本的第一类文本。那可能吗?这是我尝试过的,但它没有用到
var age = $('.one:not(.one_span)').text();
答案 0 :(得分:3)
使用contents()
:
var age = $('.one').contents()[0]
Here's a fiddle to demonstrate.
contents()
:获取匹配元素集中每个元素的子元素,包括文本和注释节点。
答案 1 :(得分:1)
你可以parseInt
,JSFiddle:http://jsfiddle.net/4qT4u/
答案 2 :(得分:1)
var text = $(".one")
.clone() //clone the element
.children() //select all the children
.remove() //remove all the children
.end() //again go back to selected element
.text()
删除所有子元素,并将文本设置为剩余内容。
工作小提琴:http://jsfiddle.net/G9SfB/ 资料来源:http://viralpatel.net/blogs/jquery-get-text-element-without-child-element/
答案 3 :(得分:1)
为了安全起见,克隆div,从克隆中删除范围,并从中获取文本:
var cl = $('div.one').clone();
cl.find('span').remove();
var age = cl.text();
答案 4 :(得分:0)
在此处找到:https://stackoverflow.com/a/11348383/1524085
var text = $('div').contents(':not(.one_span)').text();
<强> http://jsfiddle.net/6pRS3/ 强>