【发布时间】:2014-06-05 02:18:09
【问题描述】:
我有这个 HTML:
<div class="one">32<span class="one_span"> Years old</span></div>
我希望能够选择没有跨度文本的第一类文本。那可能吗?这是我尝试过的方法,但没有成功
var age = $('.one:not(.one_span)').text();
【问题讨论】:
标签: jquery
我有这个 HTML:
<div class="one">32<span class="one_span"> Years old</span></div>
我希望能够选择没有跨度文本的第一类文本。那可能吗?这是我尝试过的方法,但没有成功
var age = $('.one:not(.one_span)').text();
【问题讨论】:
标签: jquery
使用contents():
var age = $('.one').contents()[0]
Here's a fiddle to demonstrate.
contents():获取匹配元素集中每个元素的子元素,包括文本和注释节点。
【讨论】:
你可以parseInt,JSFiddle:http://jsfiddle.net/4qT4u/
【讨论】:
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/
【讨论】:
为了安全起见,克隆 div,从克隆中删除 span,然后从中获取文本:
var cl = $('div.one').clone();
cl.find('span').remove();
var age = cl.text();
【讨论】:
在这里找到:https://stackoverflow.com/a/11348383/1524085
var text = $('div').contents(':not(.one_span)').text();
【讨论】: