2014-11-21 37 views
-2

我想用jquery改变dom。用jquery改变dom

它是源:

<td class="name"><a href="position_details.php?x=-109&amp;y=95">21</a> </td> 
<td class="name"><a href="position_details.php?x=-109&amp;y=96">22</a> </td> 
<td class="name"><a href="position_details.php?x=-109&amp;y=97">23</a> </td> 

我想改变它:

<td class="name"><a href="position_details.php?x=-109&amp;y=95">21</a> :.: <a href='http://d3.traaviaan.ir/build.php?gid=16&t=99&action=showSlot&sort=distance&direction=asc&x=-109&y=$3$4'>Add to farm list</a></td> 
<td class="name"><a href="position_details.php?x=-109&amp;y=96">22</a> :.: <a href='http://d3.traaviaan.ir/build.php?gid=16&t=99&action=showSlot&sort=distance&direction=asc&x=-109&y=96'>Add to farm list</a></td> 
<td class="name"><a href="position_details.php?x=-109&amp;y=97">23</a> :.: <a href='http://d3.traaviaan.ir/build.php?gid=16&t=99&action=showSlot&sort=distance&direction=asc&x=-109&y=97'>Add to farm list</a></td> 

Tings的可以改变的是:

QueryStrin的价值。

和锚的文字。

我尝试这样的代码,但它doe`

$(".name").each(function(index){ 
    str = $(this).html(); 
    str = str.replace(/[<]a href="position_details[.]php[?]x=([-]?)([0-9]+)&amp;y=([-]?)([0-9]+)">(.+)<\/a>/, 
    "<a href='position_details.php?x=$1$2&y=$3$4'>$5</a> :.: <a href='http://d3.traaviaan.ir/build.php?gid=16&t=99&action=showSlot&sort=distance&direction=asc&x=$1$2&y=$3$4'>Add to farm list</a>"); 
    $(this).html(str) 

});

`

+0

它是一些botScript? – 2014-11-21 12:43:50

+1

给我们'$(this).html()'确切的结果... – 2014-11-21 12:44:48

+0

@vp_arth没有它只是为了学习 – 2014-11-21 12:50:45

回答

3

试试这个:

$('.name').each(function() { 

    var that = $(this); 
    var hrefPart = that.find('a').attr('href').split('?'); 

    that.append(".::.<a href='http://d3.traaviaan.ir/build.php?gid=16&t=99&action=showSlot&sort=distance&direction=asc&" + hrefPart[1] + "'>Add to farm list</a>"); 
}); 

位置部分形成第一链路分离出来,这是最简单的方法。

+0

doeasn't work:http://jsfiddle.net/f4b11L12/ – 2014-11-21 12:57:50

+0

添加table和tr标签以获取有效的html:http://jsfiddle.net/f4b11L12/1/ – derMrich 2014-11-21 12:59:29