0

我有点卡在一个地方,整天都在烦我。

我有这个代码:

function main() {
    function sort(a, b){
        return ($(b).text()) < ($(a).text());    
    }

    var title = $(".topictitle").sort(sort).text();
    $('body').append(title)
}

我希望能够替换每个元素的文本(我的意思是我想将每个元素之前的 '.' 和 'Link:' 替换为 '' nothing)并在每个元素之后添加一个中断标签并将其发布在文档的末尾在单独的行上。我尝试的几种方法都不起作用。有任何想法吗?

的HTML:

<table class="tablebg" width="100%" cellspacing="1">
        <tr>
            <td class="row1">
                <a title="Публикувано на: Чет Сеп 01, 2011 11:40 am" href="./viewtopic.php?f=70&amp;t=61127" class="topictitle">]Link: The Sid Movie (CS) [Replay]</a>
            </td>
        </tr>
        <tr>
            <td class="row1">
                 <a title="Публикувано на: Чет Фев 24, 2011 11:29 am" href="./viewtopic.php?f=70&amp;t=57832" class="topictitle">Link: Project Team 9 (CS) [Replay]</a>
            </td>
        </tr>
        <tr>
            <td class="row1">
                <a title="Публикувано на: Чет Сеп 01, 2011 11:30 am" href="./viewtopic.php?f=70&amp;t=61127" class="topictitle">Link: Guilty Gear Freaks</a>
            </td>
        </tr>
        <tr>
            <td class="row1">
                 <a title="Публикувано на: Чет Фев 24, 2011 11:51 am" href="./viewtopic.php?f=70&amp;t=57874" class="topictitle">Link: Counter Strike 1.6 [GMV]</a>
            </td>
        </tr>
        <tr>
            <td class="row1">
                <a title="Публикувано на: Чет Сеп 01, 2011 11:42 am" href="./viewtopic.php?f=70&amp;t=61127" class="topictitle">Link: C&C: Generals Zero Hour [GMV]</a>
            </td>
        </tr>
        <tr>
            <td class="row1">
                 <a title="Публикувано на: Чет Фев 24, 2011 11:59 am" href="./viewtopic.php?f=70&amp;t=57874" class="topictitle">Link: King of Fighters [Replay]</a>
            </td>
        </tr>
    </table>

我想得到这个: http: //i.imgur.com/zCntf.jpg但已排序。

不必要的字符是“链接:”,“[”“]”等。

不需要点击,它应该在加载时加载到页面底部(没有花哨的东西,只需要在页面加载时执行它,当我准备好时我可以删除脚本)。

最终的 HTML 只是一个没有标签或任何东西的列表:

<html lang="bg" xml:lang="bg" dir="ltr" xmlns="http://www.w3.org/1999/xhtml">
<head>
<body class="ltr">
[url=http://forum.website.com/viewtopic.php?f=33&t=10266]The Sid Movie (CS) [Replay][/url]
<br>
[url=http://forum.website.com/viewtopic.php?f=33&t=10265]Project Team 9 (CS) [Replay][/url]
<br>
[url=http://forum.website.com/viewtopic.php?f=33&t=9720]Guilty Gear Freaks[/url]
<br>
[url=http://forum.website.com/viewtopic.php?f=33&t=9232]Counter Strike 1.6 [GMV][/url]
<br>
[url=http://forum.website.com/viewtopic.php?f=33&t=9258]C&C: Generals Zero Hour [GMV][/url]
<br>
[url=http://forum.website.com/viewtopic.php?f=33&t=6581]King of Fighters [Replay][/url]
<br>
</body>
</html>

之后我只需要能够将列表直接复制/粘贴到主题,脚本将通过 Greasemonkey 加载,并且仅出于此目的加载,如果不需要它将被禁用。

我使用的代码是这个:

function addJQuery(callback) {
  var script = document.createElement("script");
  script.setAttribute("src", "http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js");
  script.addEventListener('load', function() {
    var script = document.createElement("script");
    script.textContent = "(" + callback.toString() + ")();";
    document.body.appendChild(script);
  }, false);
  document.body.appendChild(script);
}

function main() {
    $('.topictitle').each(function(){
      var text = '[url=' + 'http://forum.website.com' + $(this).attr('href').replace('.','') + ']' + $(this).text().replace('Link: ','') + "[/url]<br/>"
      $('body').append(text)
  })
}

addJQuery(main);

这几乎是我想要的,但它需要排序......

4

1 回答 1

0

看起来像你需要的。首先你排序,然后你迭代.each

于 2012-09-16T01:07:31.123 回答