我已經搜索和搜索,但似乎無法找到我需要的答案。我仍然圍繞着整個正則表達式來解決這個問題,但這似乎很簡單。在JavaScript中使用正則表達式只選擇標籤之間的文本
我有一個字符串"<a href="#">London<span>35.2miles</span></a>"
我想切一切除了"London"
,但一切我嘗試"London<span>35.2miles</span>"
結果我似乎無法擺脫跨度標記和文字,還有一個標籤。
我已經搜索和搜索,但似乎無法找到我需要的答案。我仍然圍繞着整個正則表達式來解決這個問題,但這似乎很簡單。在JavaScript中使用正則表達式只選擇標籤之間的文本
我有一個字符串"<a href="#">London<span>35.2miles</span></a>"
我想切一切除了"London"
,但一切我嘗試"London<span>35.2miles</span>"
結果我似乎無法擺脫跨度標記和文字,還有一個標籤。
var root = document.createElement("div");
root.innerHTML = '<a href="#">London<span>35.2miles</span></a>';
alert(root.firstChild.firstChild.nodeValue);
+1將它作爲DOM元素處理:) Jus在OP – Tamil 2012-07-18 10:52:21
中加入了同樣的評論,出色地工作,謝謝! – 2012-07-18 11:03:04
以下正則表達式應該可以工作;
/>([^<]*)/
它,直到它擊中與從第一>
二話不說<
您可以用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];
}
爲什麼正則表達式?你的'a'標籤不是一個dom元素嗎? – Tamil 2012-07-18 10:50:50
克蘇魯,我的領主,他來了,而處女小馬掠過胎血......或類似的東西 – 2012-07-18 10:56:36