我有一个页面可能是以下之一:
<span id='size'>33</span>
Run Code Online (Sandbox Code Playgroud)
要么
<span id='size'>
<b>33</b>
<strike>32</strike>
</span>
Run Code Online (Sandbox Code Playgroud)
我想在两种情况下都获取值'33',我可以使用CSS选择器吗?我尝试使用以下内容,#size with no b sibling或b是#size sibling:
document.querySelector('#size:not(>b), #size>b').innerText
Run Code Online (Sandbox Code Playgroud)
但我一直收到错误 - "错误:SYNTAX_ERR:DOM例外12"
Ble*_*der 11
你不能用常规的CSS选择器来做,但是你可以在几行JS中做到这一点:
var element = document.querySelector('#size');
var b = element.querySelector('b');
var text = b ? b.innerText : element.childNodes[0].nodeValue;
console.log(text);
Run Code Online (Sandbox Code Playgroud)