2011-03-23 256 views
8

如何使用Javascript獲取HTML文本的最後一行?使用Javascript獲取HTML的最後一行

例如,HTML請求返回此響應:

<span>blah blah blah 
ha ha ha ha 
tatatatata 

我怎麼會得到最後一行的 「tatatatata」?

+0

對不起,這個帖子並沒有包括我的換行符,但是應該有一個介於兩者之間,哈哈是一個ta的 – Joe 2011-03-23 03:05:07

+0

我編輯了你的文章以添加格式。 – 2011-03-23 03:08:19

回答

7
var html = document.getElementById('some_element').innerHTML.split(/\r?\n/); 
alert(html[html.length - 1]); 

拆分通過/\r?\n/打破HTML到線,然後抓住陣列的最後一個元素。

注意:由於這是HTML,因此可能需要根據具體情況拆分/<br(?: \/)?>//<br>/

0

您可以閱讀所有HTML標記,在換行符上執行split(),並獲取數組中的最後一項。

0

您可以使用JavaScript的lastIndexOf,就像這樣:

var your_html = 'blah<br />ha ha<br />tata'; 
var newline_mark = '<br />'; 
var last_br_position = your_html.lastIndexOf(newline_mark); 
var last_line; 
if (last_br_position == -1) 
    last_line = your_html; 
else 
    last_line = your_html.substr(last_br_position + newline_mark.length); 
+0

這假定你的行被'
'分隔。如果沒有,只需更改'newline_mark'變量 – cambraca 2011-03-23 03:10:37

0

假設只有一個<span>在頁面上....

var lines = document.getElementsByTagName("span")[0].innerText.split("\n"); 
alert(lines[lines.length-1]); 
1
$('#your_span').html().split(/\r?\n/).pop() 

https://www.w3schools.com/jsref/jsref_pop.asp

+0

考慮擴展您的答案以向提問者解釋爲什麼這會實現所需的結果,可能會鏈接到文檔。如此,這僅僅是有用的。 – 2015-09-03 23:01:23