XPathEvaluator: evaluate() method

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Phương thức evaluate() của giao diện XPathEvaluator thực thi một biểu thức XPath trên nút hoặc tài liệu đã cho và trả về một XPathResult.

Cú pháp

js
evaluate(expression, contextNode)
evaluate(expression, contextNode, resolver)
evaluate(expression, contextNode, resolver, type)
evaluate(expression, contextNode, resolver, type, result)

Tham số

expression

Chuỗi biểu diễn biểu thức XPath cần được phân tích và đánh giá.

contextNode

Một Node biểu diễn ngữ cảnh để sử dụng khi đánh giá biểu thức.

resolver Optional

Một Node, null, hoặc bất kỳ đối tượng nào triển khai phương thức lookupNamespaceURI. Cho phép dịch tất cả các tiền tố, bao gồm cả tiền tố không gian tên xml, trong biểu thức XPath sang các URI không gian tên thích hợp.

type Optional

Chỉ định loại kết quả được trả về bởi việc đánh giá biểu thức. Phải là một trong XPathResult.Constants.

result Optional

Cho phép chỉ định một đối tượng kết quả có thể được tái sử dụng và trả về bởi phương thức này. Nếu được chỉ định là null hoặc triển khai không tái sử dụng kết quả đã chỉ định, một đối tượng kết quả mới sẽ được trả về.

Giá trị trả về

Một đối tượng XPathResult biểu diễn kết quả của việc đánh giá biểu thức XPath.

Ngoại lệ

INVALID_EXPRESSION_ERR

Nếu biểu thức không hợp lệ theo các quy tắc của XPathEvaluator, một DOMException loại INVALID_EXPRESSION_ERR sẽ được ném ra.

TYPE_ERR

Trong trường hợp kết quả không thể được chuyển đổi sang loại đã chỉ định, một DOMException loại TYPE_ERR sẽ được ném ra.

NAMESPACE_ERR

Nếu biểu thức chứa các tiền tố không gian tên không thể được giải quyết bởi XPathNSResolver được chỉ định, một DOMException loại NAMESPACE_ERROR sẽ được ném ra.

WRONG_DOCUMENT_ERR

Nếu nút ngữ cảnh được cung cấp thuộc một tài liệu không được hỗ trợ bởi XPathEvaluator, một DOMException loại WRONG_DOCUMENT_ERR sẽ được ném ra.

NOT_SUPPORTED_ERR

Nếu nút ngữ cảnh được cung cấp không phải là loại được phép làm nút ngữ cảnh XPath hoặc loại yêu cầu không được XPathEvaluator cho phép, một DOMException loại NOT_SUPPORTED_ERR sẽ được ném ra.

Ví dụ

Ví dụ sau đây cho thấy cách sử dụng phương thức evaluate().

HTML

html
<div>XPath example</div>
<div>Number of &lt;div&gt;s: <output></output></div>

JavaScript

js
const evaluator = new XPathEvaluator();
const result = evaluator.evaluate(
  "//div",
  document,
  null,
  XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;

Kết quả

Thông số kỹ thuật

Specification
DOM
# dom-xpathevaluatorbase-evaluate

Tương thích trình duyệt