XPathExpression: phương thức evaluate()
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 XPathExpression 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
evaluate(contextNode)
evaluate(contextNode, type)
evaluate(contextNode, type, result)
Tham số
contextNode-
Một
Nodeđại diện cho ngữ cảnh để đánh giá biểu thức. typeOptional-
Xác định loại kết quả trả về khi đánh giá biểu thức. Phải là một trong các hằng số
XPathResult.Constants. resultOptional-
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à
nullhoặc nếu 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 đại diện cho kết quả đá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 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ể chuyển đổi sang loại được 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 phân giải bởi XPathNSResolver đã 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 đến từ 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 phép bởi XPathEvaluator, một DOMException loại NOT_SUPPORTED_ERR sẽ được ném ra.
Ví dụ
Ví dụ sau minh họa cách sử dụng phương thức evaluate().
HTML
<div>XPath example</div>
<div>Number of <div>s: <output></output></div>
JavaScript
const xpath = "//div";
const evaluator = new XPathEvaluator();
const expression = evaluator.createExpression("//div");
const result = expression.evaluate(
document,
XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,
);
document.querySelector("output").textContent = result.snapshotLength;
Kết quả
Thông số kỹ thuật
| Specification |
|---|
| DOM> # dom-xpathexpression-evaluate> |