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 に答える