我想回到所有的href的的錨如果標(biāo)簽跨度相同的行中包含特定的文本,但我不知道該怎么寫XPath表達(dá)式。下面的代碼是我所能得到的,它會(huì)返回給我span的innerHTML。jsfiddle:https ://jsfiddle.net/m95wdg7f/var fruitsArray = [];var nodesSnapshot = document.evaluate("//body/table/tbody/tr[*]/td[*]/span[contains(.,'apple')]", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null );for ( var i=0 ; i < nodesSnapshot.snapshotLength; i++ ) { fruitsArray.push(nodesSnapshot.snapshotItem(i).innerHTML);}alert(fruitsArray);<table><tr> <td><a href="http://www.oranges.com">link</a></td> <td></td> <td><span>orange</span></td></tr><tr> <td><a href="http://www.apples.com">link</a></td> <td></td> <td><span>apple</span></td></tr><tr> <td><a href="http://www.bananas.com">link</a></td> <td></td> <td><span>banana</span></td></tr><tr> <td><a href="http://www.apples.com">link</a></td> <td></td> <td><span>apple</span></td></tr></table>在我看來,解決方案應(yīng)該是這樣的://body/table/tbody/tr[*]/td[*]/a//body/table/tbody/tr[*]/td[*]/span[contains(.,'apple')]
如果同一行中的跨度包含文本,則 XPath 評(píng)估返回錨點(diǎn) href
侃侃爾雅
2021-07-13 17:01:27