我已经搜索和搜索,但似乎无法找到我需要的答案。我仍然围绕着整个正则表达式来解决这个问题,但这似乎很简单。在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