Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery选择器和一个bug_Jquery_Jquery Ui - Fatal编程技术网

jQuery选择器和一个bug

jQuery选择器和一个bug,jquery,jquery-ui,Jquery,Jquery Ui,我想选择页面上的所有图像,并为鼠标悬停事件附加一个函数。这是一个向你展示我到目前为止所拥有的。在JavaScript部分的底部,您可以看到我正在两次运行相同的代码,每个图像一次。在我看来,我应该能够在这里使用.each()函数,但我已经尝试过了,但无法让它工作。以下是我想将两个重复呼叫转换为一个: $("#gen").one('mouseover', function() { runTransfer('gen'); return false; }); $("#bo").one('mouseov

我想选择页面上的所有图像,并为鼠标悬停事件附加一个函数。这是一个向你展示我到目前为止所拥有的。在JavaScript部分的底部,您可以看到我正在两次运行相同的代码,每个图像一次。在我看来,我应该能够在这里使用.each()函数,但我已经尝试过了,但无法让它工作。以下是我想将两个重复呼叫转换为一个:

$("#gen").one('mouseover', function() {  runTransfer('gen'); return false; });
$("#bo").one('mouseover', function() { runTransfer('bo'); return false; });

仅供参考,这里还有一个bug(代码的不同部分),我正试图解决……但一次只能解决一个问题。:)

你能给这些图片一个类,然后在类上选择吗

HTML:


要逐字回答您的问题,您可以使用:


下面是一些实现此技巧的代码:

$.each(['gen','bo'],function(i,id){$('#'+id).one('mouseover',function(){
   runTransfer(id);
})})

每个图像已经有一个类,该类正在页面上定位它。我认为我不能使用你的建议,因为我的每个图像都需要一个唯一的类。你的图像只能分配一个唯一的类给它们?这不是id属性的目的吗?也许……我不是CSS专家。:)图像需要绝对定位在带有x/y坐标的页面上,我使用CSS类来实现这一点。@karim79有正确的答案。我想我对jQuery不太了解。但是您可以在一个元素上有多个类,而不会妨碍您的样式设计。只需在每个元素中添加类似“addeventome”的内容,在karim79的答案中,将“#gen,#bo”更改为“.addeventome”。我真正想要的是避免每次在页面中添加图像时更改代码(jQuery,而不是HTML)。你和karim79的答案都没有告诉我。但是他们确实把我的代码缩短了不少,所以我就不去管它了。:)仅供参考,而不是将回调函数传递给正在执行的
.effect
。将代码更改为
$(“#”+imgID).effect(“transfer”,options,1000,function(){afterTransfer(imgID);})
$(".addEventToMe").each(function(elm) {
    elm.one('mouseover', function() {  runTransfer('gen'); return false; });
}
$("#gen, #bo").one('mouseover', function() {  
    runTransfer(this.id); 
    return false; 
});
$.each(['gen','bo'],function(i,id){$('#'+id).one('mouseover',function(){
   runTransfer(id);
})})