淡化具有相同ID的2个按钮

时间:2012-11-20 21:51:22

标签: jquery

我有2个id ='1'的按钮。单击第一个按钮后,它会淡出,但如果我按下第二个按钮则保持不变。

$("#1").click(function()
{
$("#1").fadeOut("slow");
});

4 个答案:

答案 0 :(得分:5)

如果你想使用相同的选择器淡出2个项目,那么

id应该是唯一的。例如。

HTML

<span class="fademe">Bla</span>
<span class="fademe">Bla</span>

的JavaScript

$('.fademe').fadeOut('slow');

答案 1 :(得分:4)

您不能拥有两个具有相同ID的按钮 - 浏览器假定 ID是唯一的,而JavaScript只会识别具有给定ID的第一个元素。

很快有人会告诉你,ID也不能以数字开头,但这只适用于HTML 4,并且很少被浏览器强制执行。不过,这被认为是一种坏习惯。

改为使用普通类:

$(".one").click(function() {
    $(".one").fadeOut("slow");
});

答案 2 :(得分:2)

要淡化多项内容,您可以使用

HTML

<div class="fade" id="fadeOne">Fade One</div>
<div class="fade" id="fadeTwo">Fade Two</div>

<input type="button" id="fadeButton" value="Fade" />

JS

$('#fadeButton').click(function() {
    $('.fade').fadeOut(); 
});

jFiddle

http://jsfiddle.net/4WDV8/

修改

男人今天我这么慢,安迪说的没错!

答案 3 :(得分:0)

每个元素的ID必须是唯一的。尝试使用课程而不是id

试试这个,

<span id="1" class="span">Bla</span>
<span id="2" class="span">Bla</span>

$(".span").click(function(){
  $(this).fadeOut("slow");
});