【问题标题】:How to delete one table row that has an empty class attribute?如何删除一个具有空类属性的表行?
【发布时间】:2013-12-13 12:21:52
【问题描述】:

Greasemonkey 脚本是否可以删除具有空类 (<tr class="" ...>) 的一行?

问题在于<tbody> 标记内有两行具有空类。 要删除的行是第一个。

<table id="sort_table" class="tablesorter">
<thead>
    <tr>
        <th class="blacktext timesroman_italic">This</th>
        <th class="blacktext timesroman_italic">is a</th>
        <th class="blacktext timesroman_italic">header</th>
        <th class="blacktext timesroman_italic">row</th>
    </tr>
</thead>
<tbody>
    <!-- I WOULD LIKE TO DELETE FROM HERE -->
    <tr class="" valign="middle">
        <td class="bluetext timesroman align_middle">First</td>
        <td class="bluetext timesroman align_middle">blank</td>
        <td class="bluetext timesroman align_middle">class</td>
        <td class="bluetext timesroman align_middle">row</td>
    </tr>
    <!-- TO HERE -->

    <!-- BUT NOT FROM HERE -->
    <tr class="" valign="middle">
        <td class="bluetext timesroman align_middle">second</td>
        <td class="bluetext timesroman align_middle">blank</td>
        <td class="bluetext timesroman align_middle">class</td>
        <td class="bluetext timesroman align_middle">row</td>
    </tr>
    <tr class="someclass" valign="middle">
        <td class="bluetext timesroman align_middle">I gots</td>
        <td class="bluetext timesroman align_middle">me</td>
        <td class="bluetext timesroman align_middle">some</td>
        <td class="bluetext timesroman align_middle">class</td>
    </tr>
    <tr valign="middle">
        <td class="bluetext timesroman align_middle">no</td>
        <td class="bluetext timesroman align_middle">class</td>
        <td class="bluetext timesroman align_middle">attribute</td>
        <td class="bluetext timesroman align_middle">row</td>
    </tr>
    <!-- TO HERE -->
</tbody>
</table>


我想删除第一个“空白类”行。像这样:


这是我想出的伪代码,但我如何在脚本中做到这一点? :

  • 转到 id == "sort_table" 的表
  • 忽略“thead”并转到“tbody”,可能是当 trCount > 1 //“thead”有一个“tr”所以它应该忽略一个“tr”以跳到“thead”;
  • 在“tbody”上,当 trCountf

【问题讨论】:

  • 这绝对是可能的。您是否尝试过自己编写此代码?您可能会发现,修复一个几乎可以运行的脚本比基本上要求别人为您编写所有脚本获得的帮助更多。
  • 这不起作用...完美无瑕!我希望你没有浪费太多时间来解决这个问题。不知道怎么感谢你!希望对你最好,先生。布洛克!
  • 不客气!一旦你掌握了窍门,这样的问题就会变得又快又容易。清理帖子比找出答案花费的时间更长。

标签: javascript firefox html-table greasemonkey


【解决方案1】:

使用jQuery,一行代码就可以搞定:

$('#sort_table tbody tr:not([class!=""]):first').remove ();

"Select elements without any class"

完整的 Greasemonkey 脚本应该是这样的:

// ==UserScript==
// @name     _Remove the first body row that ain't got no class
// @include  http://YOUR_SERVER.COM/YOUR_PATH/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/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.
*/

$('#sort_table tbody tr:not([class!=""]):first').remove ();


see the code at jsFiddle.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-10
    • 1970-01-01
    相关资源
    最近更新 更多