以下是我必须从中获取数字的HTML,但不知道如何仅提取数字而不是最后一个嵌套的Span的文本。
<li class="off" id="defense1">
<div class="item_box defense401">
<div class="buildingimg">
<a title="" class="detail_button tooltip js_hideTipOnMobile slideIn" id="details401" href="javascript:void(0);" ref="401">
<span class="ecke">
<span class="level">
<span class="textlabel">
Rocket Launcher
</span>
20.000
</span>
</span>
</a>
</div>
</div>
</li>
如果我使用以下VBA代码,我将从我想要的Span和内部跨度中获取文本。我怎样才能拔出#?
Dim IE as InternetExplorer
Set IE = new InternetExplorer
IE.document.getElementById("details401").innerText
我需要VBA代码来过滤中间Span的内部文本。
答案 0 :(得分:0)
尝试使用this忽略选择器中的内容。
$.fn.ignore = function(sel){
return this.clone().find(sel||">*").remove().end();
};
这是我得到的解决方案。
<!DOCTYPE html>
<html lang="en-US">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script>
$(document).ready(function() {
var text = $('#details401 .ecke .level').ignore("span").text();
console.log(text);
});
$.fn.ignore = function (sel) {
return this.clone().find(sel || ">*").remove().end();
};
</script>
</head>
<body>
<li class="off" id="defense1">
<div class="item_box defense401">
<div class="buildingimg">
<a title="" class="detail_button tooltip js_hideTipOnMobile slideIn" id="details401" href="javascript:void(0);" ref="401">
<span class="ecke">
<span class="level">
<span class="textlabel">
Rocket Launcher
</span> 20.000
</span>
</span>
</a>
</div>
</div>
</li>
</body>
</html>
答案 1 :(得分:0)
未测试:
Dim sp1, sp2
Set sp1 = IE.document.getElementById("details401").getElementsByClassName("level")(0)
Set sp2 = sp1.getElementsByClassName("textlabel")(0)
Debug.Print Trim(Replace(sp1.innerText, sp2.innerText, ""))
答案 2 :(得分:-1)
您可以使用var numberYouWant = $(".level").text().replace($(".textlabel").text(), "").trim();
获取所需的号码