2012-07-18 34 views
0

我已經搜索和搜索,但似乎無法找到我需要的答案。我仍然圍繞着整個正則表達式來解決這個問題,但這似乎很簡單。在JavaScript中使用正則表達式只選擇標籤之間的文本

我有一個字符串"<a href="#">London<span>35.2miles</span></a>"

我想切一切除了"London",但一切我嘗試"London<span>35.2miles</span>"結果我似乎無法擺脫跨度標記和文字,還有一個標籤。

+0

爲什麼正則表達式?你的'a'標籤不是一個dom元素嗎? – Tamil 2012-07-18 10:50:50

+2

克蘇魯,我的領主,他來了,而處女小馬掠過胎血......或類似的東西 – 2012-07-18 10:56:36

回答

3
var root = document.createElement("div"); 
root.innerHTML = '<a href="#">London<span>35.2miles</span></a>'; 
alert(root.firstChild.firstChild.nodeValue); 
+0

+1將它作爲DOM元素處理:) Jus在OP – Tamil 2012-07-18 10:52:21

+0

中加入了同樣的評論,出色地工作,謝謝! – 2012-07-18 11:03:04

0

以下正則表達式應該可以工作;

/>([^<]*)/ 

它,直到它擊中與從第一>二話不說<

您可以用match()方法結合這一點,像這樣的東西來結束;

var matches = '<a href="#">London<span>35.2miles</span></a>'.match(/>([^<]*)/); 

if (matches) { // "null" if no matches, array if there was. 
    var london = matches[1]; 
} 
相關問題