2012-07-18 61 views
1

我的HTML是:如何我在一個元素得到的只是文本值

<div> 
    Some text 
    <span>label text</span> 
</div> 

的Jquery:

?? 

我想輸出打印爲 -

"Some text" 

當我做$("div").text() ,我得到Some textLabel text
當我做$("div").html(),我得到Some text<span>Label text</span>

+0

不使用( '跨') – 2012-07-18 09:00:24

+0

@Alex - 我不明白。不('span')將檢查元素是否不是跨度。這將如何幫助。 – Ashwin 2012-07-18 09:02:08

回答

2

試試這個PLZ:

工作演示http://jsfiddle.net/f8VFf/,你也可以尋找innerHTMloutterHTML

jQuery.fn.justtext = function() { 

    return $(this).clone() 
      .children() 
      .remove() 
      .end() 
      .text(); 

}; 
alert($('div').justtext());​ 
+0

先生!那很完美。謝謝 – Ashwin 2012-07-18 09:04:05

+0

@MotaBOS大聲笑howz生活bruv!很高興它幫助':)' – 2012-07-18 09:04:59

1

在這裏你去。 ;)

var tmp = $('div').clone(); 
tmp.children().remove(); 

alert(tmp.text()); 

預覽 - http://jsfiddle.net/Z3qaN/

1

這可能工作:

var txt = $('div').contents().filter(function() { 
    return this.nodeType == 3; 
}); 

alert(txt.text()); 
相關問題