Javascript jquery:同时选择和元素class和id?

Javascript jquery:同时选择和元素class和id?,javascript,jquery,Javascript,Jquery,编辑1很抱歉给您带来了混乱 $(this).hide(); 对于这个特殊的身份证有效。但我想我不能把我的问题说清楚。虽然我得到了答案,但我现在已经对它进行了编辑,以备将来参考 我有这样的元素 <img src='images/star-transparent.png' id='star_transparent-1' width='30' height='30' class='star_transparent' /> <img src='images/star-transpar

编辑1很抱歉给您带来了混乱

$(this).hide();
对于这个特殊的身份证有效。但我想我不能把我的问题说清楚。虽然我得到了答案,但我现在已经对它进行了编辑,以备将来参考

我有这样的元素

<img src='images/star-transparent.png' id='star_transparent-1' width='30' height='30' class='star_transparent' />
<img src='images/star-transparent.png' id='star_transparent-2' width='30' height='30' class='star_transparent' />
<img src='images/star-blue.png' id='star_blue-1' width='30' height='30' class='star_blue' />
<img src='images/star-blue.png' id='star_blue-2' width='30' height='30' class='star_blue' />
在其中一个例子中,建议的答案是使用-

$("#star_transparent-1.star_transparent");
or
$("#star_transparent-1 .star_transparent");
但是,在我的例子中,star_transparent-1或star_transparent-2,即ID本身是一个从class.click函数派生的变量。那我该怎么写呢

此外,在上述建议的答案中,有人说star_transparent-1.star_transparent和star_transparent-1.star_transparent是两个不同的东西。它被引述为-

空格是后代选择器,即A B表示匹配所有 匹配B的元素是匹配a的元素的后代。 AB表示选择与A和B匹配的所有元素

但是,很抱歉,我不明白。如果有人能更容易地解释,那将是一个很大的帮助

谢谢。 问候


Atul Tiwari博士

您的代码中不能有多个具有相同id的元素。

您可以使用关键字this本身隐藏单击的图像

$('.star_transparent').click(function() {
    $(this).hide();
});
使用id的选择器:

$('.star_transparent').click(function() {
    var star_id = $(this).attr('id');
    $('#'+star_id+'.star_transparent').hide();
});

因为你有不同的ID,你可以很容易地用它来隐藏

$'.star_transparent'。单击函数EVT{

var star_id = $(evt.currentTarget).attr('id');
$('#' + star_id).hide();
})


谢谢

为什么不使用“$”.star_transparent”。单击函数{$this.hide}您想对所选图像的id做什么?可以使用$this.hide;在点击事件中会有帮助吗?第二个没有任何意义..:\$这个。隐藏;是最好的,但是由于id必须是唯一的,您只需使用$+star\u id即可。hide@RajaprabhuAravindasamy抱歉造成混淆,但我需要第二个。@Dr.AtulTiwari,为什么需要第二个,因为ID必须是唯一的,您只需使用$+star\u ID.hide,使用带有ID选择器的“.star\u transparent”是没有意义的。@Satpal抱歉,先生,事实上,我需要$+星空id+'.星空蓝'.显示。是的,你是对的$this.hide;将独自工作。星空透明。见我编辑的问题。谢谢是的,我拆分星号只是为了得到数字1或2,这样我就可以用它来显示相应的彩色星号。@DavidThomas清楚地说,如果有多个元素具有相同的id,则不会定义行为。
var star_id = $(evt.currentTarget).attr('id');
$('#' + star_id).hide();