2012-03-06 35 views
-1

我想更换href价值为所有JQuery的替换HREF值全部用相同的ID

<a id ="replaceValue" href=""> test1 </a> 

<a id ="replaceValue" href="">test2 </a> 

<a>标签ID两者相同。我想改变两者的价值。

$("#replaceValue").attr("href", "test.html"); 

该功能运作良好,但它只是改变第一<a>标签。请帮助我改变两个相同的功能。

+5

编号** **必须是唯一的。改为使用班级。 – 2012-03-06 00:09:33

+0

没有这些问题,当HTML是有效的唯一ID ..更改ID到类 – charlietfl 2012-03-06 00:11:31

+0

请尊重这个问题。这是一个诚实的问题,考虑到正确的想法,但是错误的意图/实施,并且应该在未来发现这个警告灯。基本上支付它。 – 2012-03-06 03:45:28

回答

4

您应该使用类而不是ID,因为ID是唯一的。这应该做你需要使用类:

$('a.replaceValue').attr('href','NEW URL HERE'); 
-2
$('#replaceValue').each(function() { 
$(this).attr('href','url'); 
}) 
+4

在ID选择器上调用'each'没有任何意义,因为根据定义,ID是单个项目。在内部,JavaScript只会返回具有该ID的第一个项目,即使DOM中存在多个项目也是如此。 – 2012-03-06 00:13:35

2

ID是唯一的标识符。累积操作

使用的名称或ALT或类
1
< a class ="replaceValue" href="" > test1 < /a> 

< a class ="replaceValue" href="" >test2 < /a> 

更改ID的,以班为每个规格的ID必须是唯一的任意页面

$(".replaceValue").attr("href", "test.html"); 
0

如果你有超过标记没有控制,你可以通过将id作为通用属性并使用jQuery属性选择器来选择所有这些。

,如果你控制了HTML,不这样做,更改ID,以班。

$('a[id=replaceValue]').attr('href', 'http://myurl.com'); 

实施例:http://jsfiddle.net/ySzCL/1/

+0

运作良好.. Tahnkx。 – Drozzy 2012-03-06 00:35:40

+0

但你是否需要这样做? – 2012-03-06 00:36:38

+0

为什么你必须发布这个D:Now @ Drozzy的做法都错了! – 2012-03-06 00:38:14