【问题标题】:How to get Element by XPATH in JavaScript?如何在 JavaScript 中通过 XPATH 获取元素?
【发布时间】:2021-12-13 16:18:42
【问题描述】:

我有一个非常基本的代码。它只是在单击时更改按钮的样式。使用getElementById 时效果很好,但我想以XPATH 的方式进行操作。我是 JavaScript 新手。我做错了什么,我该如何做到这一点?

代码:

<!DOCTYPE html>
<html>
<body>

<p id="demo">Click the button to change the layout of this paragraph</p>

<button onclick="myFunction()">Click Me!</button>

<script>
function myFunction() {
  let x = document.getElementByXpath("//html[1]/body[1]/button[1]");
  x.style.fontSize = "25px"; 
  x.style.color = "red"; 
}
</script>

</body>
</html>

【问题讨论】:

标签: javascript html dom xpath


【解决方案1】:

document.evaluate()

function getElementByXpath(path) {
  return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
}

function myFunction() {
  let x = getElementByXpath("//html[1]/body[1]/button[1]");
  x.style.fontSize = "25px"; 
  x.style.color = "red"; 
}
<p id="demo">Click the button to change the layout of this paragraph</p>

<button onclick="myFunction()">Click Me!</button>

【讨论】:

  • 嘿!谢谢你。有效!但是,我有一个问题。 .singleNodeValue 是做什么的?你能解释一下代码吗?
  • @Abhaysalvi singleNodeValue
猜你喜欢
  • 1970-01-01
  • 2015-09-02
  • 2020-08-14
  • 2021-02-13
  • 1970-01-01
  • 2020-04-26
  • 1970-01-01
  • 1970-01-01
  • 2020-07-19
相关资源
最近更新 更多