如何追加字符串

时间:2013-07-19 13:01:33

标签: javascript jquery append

我的元素如下,

<div id="pager">
<a href="/somepath/1">First</a>
<a href="/somepath/1">Previous</a>
<a class="" href="/somepath/1">1</a>
<a class="Current" href="/somepath/2">2</a>
<a class="" href="/somepath/3">3</a>
<a href="/somepath/3">Next</a>
<a href="/somepath/20">Last</a>
</div>

我希望在浏览器中更改如下。

<div id="pager">
<a href="/somepath/1?a=text">First</a>
<a href="/somepath/1?a=text">Previous</a>
<a class="" href="/somepath/1?a=text">1</a>
<a class="Current" href="/somepath/2?a=text">2</a>
<a class="" href="/somepath/3?a=text">3</a>
<a href="/somepath/3?a=text">Next</a>
<a href="/somepath/20?a=text">Last</a>
</div>

这样我就可以将“a”数据值用于下一页。 任何人都可以给我代码,它会附加在

  

div id="pager" - &gt; <a> - &gt; href="

我希望用另一个onChange事件删除添加的文本。

提前致谢

7 个答案:

答案 0 :(得分:30)

因为jquery被标记:

$('#pager a').each(function(){
     this.href += '?a=text';
})

Vanilla JS看起来像这样:

var a = document.getElementById('pager').getElementsByTagName('a'),
    length = a.length;

for(var i=0; i< length; i++){
    a[i].href += '?a=text';
}

答案 1 :(得分:13)

与许多jQuery函数一样,

.attr()可以采用修改现有值的函数参数:

$('#pager a').attr('href',function(i,str) {
   return str + '?a=text';
});

答案 2 :(得分:6)

$('#pager a').each(function() {
   $(this).attr('href', $(this).attr('href') + '?a=text');
});

答案 3 :(得分:5)

只需使用attr property即可。示例: -

$("a").attr("href", "http://www.google.com/")

这将完成这项工作。

答案 4 :(得分:3)

$("#pager").find("a").each(function(){
var $this=$(this);
$this.attr("href",$this.attr("href")+"?a=text");
})

答案 5 :(得分:2)

您可以使用attr方法

$('a').attr('href', '/somepath/1?a=text');

如果您想更改特定href的{​​{1}},请将该ID设为唯一身份,而不是更改其<a>,如下所示

href

答案 6 :(得分:2)

试试这段代码:

$('#pager a').each(function(){
    this.href += '?a=text'
})