在元素jquery中获取第一行文本 [英] getting the first line of text in an element jquery
本文介绍了在元素jquery中获取第一行文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个这样的示例元素:
< div id =element>
Blah等等等等。
< div>标头< / div>
...
< / div>
它也可以是这样的:
< div id =element>
< span> Blah blah blah。< / span>
< h4>标头< / h4>
...
< / div>
我想让第一行(松散定义行)(Blah blah blah。)元素。它可能被包裹在一个子元素中,或者只是裸体的textnode。我怎么做?谢谢。
使用 contents()
[docs] 方法来获取所有子元素,包括文本节点,过滤掉任何空的(或只有空白的)节点,然后抓取该集合的第一个。 var first_line = $(#元素)
.contents()
.filter(function(){
return !! $。trim(this.innerHTML || this.data);
})
.first();
文字节点: http://jsfiddle.net/Yftnh/
元素: < $ h $ = $ $ $ $ $ $
I have an example element like this:
<div id="element">
Blah blah blah.
<div>Header</div>
...
</div>
it can also look like this:
<div id="element">
<span>Blah blah blah.</span>
<h4>Header</h4>
...
</div>
I want to get the first line (defining line loosely) (Blah blah blah.) of text inside the element. It might be wrapped inside a child element or just be naked textnode. How do I do that? Thanks.
解决方案
Use the contents()
[docs] method to get all children, including text nodes, filter out any empty (or whitespace only) nodes, then grab the first of the set.
var first_line = $("#element")
.contents()
.filter(function() {
return !!$.trim( this.innerHTML || this.data );
})
.first();
text node: http://jsfiddle.net/Yftnh/
element: http://jsfiddle.net/Yftnh/1/
这篇关于在元素jquery中获取第一行文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文