1

我想删除一个具有 XPath 的元素:

html/body/center/center/table/tbody/tr/td

我想删除<table>及其内容。我找到了一些答案,但他们都需要idclass姓名等。

目标页面就像一块平板。

4

1 回答 1

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 拥有强大的选择器集合,使用 jQuery 将在速度、易用性和脚本的健壮性方面带来巨大的收益。

于 2013-01-08T08:02:41.447 回答