如何不在类中选择跨度

时间:2014-06-04 18:11:48

标签: jquery

我有这个HTML:

<div class="one">32<span class="one_span"> Years old</span></div>

我希望能够选择没有span文本的第一类文本。那可能吗?这是我尝试过的,但它没有用到

 var age = $('.one:not(.one_span)').text(); 

5 个答案:

答案 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/