JQuery-更改LIA的href';s到javascript:void(0)

JQuery-更改LIA的href';s到javascript:void(0),javascript,jquery,html,href,Javascript,Jquery,Html,Href,我有一个缩略列表: <ul> <li><a href=#c1><img /><p>1 Thumb</p></a></li> <li><a href=#c2><img /><p>2. Thumb</p></a></li> <li><a href=#c3><img /><

我有一个缩略列表:

<ul>
  <li><a href=#c1><img /><p>1 Thumb</p></a></li>
  <li><a href=#c2><img /><p>2. Thumb</p></a></li>
  <li><a href=#c3><img /><p>3. Thumb</p></a></li>
</ul>

您可以使用(用于属性,而不是
.href()
)这样做:

$("#thumbs ul li > a").attr('href','javascript:void(0)');
…但我不会,有更好的方法来解决你的问题,例如:

$("#thumbs ul li > a").click(function(e) {
  e.preventDefault();
});

这会附加一个属性
单击
处理程序以阻止导航,而不是与属性混淆以执行相同的操作。

您可以使用(用于属性,而不是
.href()
)执行您想要的操作,如下所示:

$("#thumbs ul li > a").attr('href','javascript:void(0)');
…但我不会,有更好的方法来解决你的问题,例如:

$("#thumbs ul li > a").click(function(e) {
  e.preventDefault();
});

这会附加一个属性
click
处理程序来阻止导航,而不是与属性混淆来执行同样的操作。

1.,它更干净,2.,它将中间人置于单击和操作之间,而不是修改DOM。@sandepan-出于几个原因,查看这个问题进行更深入的讨论:但也有其他缺点,将
href
更改回原处,或者以后使用它做任何事情,例如…如果你将它吹走,当你可以做相同的操作时,所有这些都会被阻止。1.它更干净,2.它将中间人置于单击和操作之间,不要修改DOM。@Sandepan-出于几个原因,请查看这个问题进行更详细的讨论:但也有其他缺点,将
href
更改回原处,或将其用于以后的任何事情,例如……如果您将其吹走,当您可以执行相同的操作而不改变它时,所有这些都会被阻止。