2012-09-15 45 views
0

我有点卡在一个地方,它整天烦扰我。JavaScript排序替换

我有这样的代码:

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

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

我希望能够替换的文本的每个元素(我的意思是,我想更换和“”‘链接:’与'每一个元素之前'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); 

这几乎是我想要的,但它需要整理...

+3

你可以显示一些示例*输入* html和一些*输出* html(你想它看起来像*之后*它已被处理/排序)?我对你的代码意味着要做什么感到困惑。 –

+0

事情是我有一个大名单与锚标签。 我希望能够采取他们的文字并按字母顺序排序,然后替换不必要的字符。 目的是为了能够使用排序元素制作phpbb目录,而不需要手动完成所有主题。 HTML: ​​ Title1 而对于所有其他元素同样的事情。 – user1673832

+0

太棒了;这并没有真正的帮助。请添加一些HTML样本(足以给出您正在处理的内容的图片),以及如何更改这些样本以显示您想要的结果,并将其添加到您的问题中(点击标签下方的“编辑”链接)。另外:什么是'不必要的字符'? –

回答

0

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

+0

非常感谢,这是完美的。 – user1673832

+0

我看到你是一个新用户。如果这是正确的答案,请点击左侧的那个小中空复选框,将其选为正确的答案。 – davehale23