我想删除一个包含XPath的元素:
html/body/center/center/table/tbody/tr/td
我想删除<table>
及其内容。我找到了一些答案,但它们都需要id
,class
名称等等。
目标页面就像一块平板。
答案 0 :(得分:3)
假设这是 精确 , 完全 XPath,那么您可以使用document.evaluate
删除表格,如下:
var badTableEval = document.evaluate (
"//body/center/center/table",
document.documentElement,
null,
XPathResult.FIRST_ORDERED_NODE_TYPE,
null
);
if (badTableEval && badTableEval.singleNodeValue) {
var badTable = badTableEval.singleNodeValue;
badTable.parentNode.removeChild (badTable);
}
或者使用等效的jQuery。这是完整的脚本:
// ==UserScript==
// @name YOUR_SCRIPT_NAME
// @include http://YOUR_SERVER.COM/YOUR_PATH/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
introduced in GM 1.0. It restores the sandbox.
*/
$("body > center:first > center:first > table:first").remove ();
jQuery有a powerful collection of selectors,使用jQuery将为脚本的速度,易用性和健壮性带来巨大的收益。