【发布时间】:2010-05-07 21:09:02
【问题描述】:
为什么以下 JavaScript 在 Firefox 3.6.3 中运行时会删除文档中的所有 FRAMESET 元素,但使用 XPath 表达式来选择 FRAMESET 元素的类似脚本却没有? document.evaluate() 是否根本无法匹配 FRAMESET 元素? XPath 表达式中是否有错误?还有其他错误吗?
使用方法document.getElementsByTagName()选择所有FRAMESET元素(成功):
var framesets = document.getElementsByTagName('frameset');
for (var i = 0; i < framesets.length; i++) {
framesets[i].parentNode.removeChild(framesets[i]);
}
使用 XPath 表达式选择所有 FRAMESET 元素(失败):
var framesets = document.evaluate("//frameset", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; i < framesets.length; i++) {
framesets[i].parentNode.removeChild(framesets[i]);
}
【问题讨论】:
标签: javascript dom frameset document.evaluate