为什么以下 JavaScript 在 Firefox 3.6.3 中运行时会删除FRAMESET
文档中的所有元素,但使用 XPath 表达式来选择FRAMESET
元素的类似脚本却没有?是document.evaluate()
根本无法匹配FRAMESET
元素吗?XPath 表达式中是否有错误?还有其他错误吗?
使用方法选择所有FRAMESET
元素document.getElementsByTagName()
(成功):
var framesets = document.getElementsByTagName('frameset');
for (var i = 0; i < framesets.length; i++) {
framesets[i].parentNode.removeChild(framesets[i]);
}
FRAMESET
使用 XPath 表达式选择所有元素(失败):
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]);
}