Jquery将函数应用于单个div,而不是一次应用于所有div
我不能很好地使用jquery,我希望我的函数只在悬停的div上工作。 我有几个div(n从1到250)和图像和文本,我想在鼠标上的css变化的东西。 HTML是:`Jquery将函数应用于单个div,而不是一次应用于所有div,jquery,Jquery,我不能很好地使用jquery,我希望我的函数只在悬停的div上工作。 我有几个div(n从1到250)和图像和文本,我想在鼠标上的css变化的东西。 HTML是:` <div id="serie" class="nspArtPage active nspCol1"> <div id="archivio" class="nspArt nspCol4" style="padding:0 20px 20px 0;clear:both;"> its divs wit
<div id="serie" class="nspArtPage active nspCol1">
<div id="archivio" class="nspArt nspCol4" style="padding:0 20px 20px 0;clear:both;">
its divs with text and image
<div id="archivio" class="nspArt nspCol4" style="padding:0 20px 20px 0;">
its divs with text and image
<div .... and so on </div>
</div>
`在这一刻,每次我去一个div,所有div都有相同的行为。
我想有一个单一的行为。
我尝试使用每个函数,使用委托函数,但我认为这不是正确的方法。
感谢您多次使用id=“archivio”
ID必须是唯一的,请改用comman类
jQuery('#serie').on('mouseenter', '.archivio', function( event ) {
//do something
}).on('mouseleave', '.archivio', function( event ) {
//do something
});
并将HTML修改为
<div class="archivio nspArt nspCol4"
元素id必须是唯一的,如果有多个具有id=“archivio”
的元素,则无法获得可靠的结果。改为使用类。因此:
<div id="archivio" class="nspArt nspCol4" style="padding:0 20px 20px 0;clear:both;">
虽然正确,但这确实是他们在问题中询问的“做点什么”部分。@AnthonyGrist,OP必须发布更多的代码,因为保存#archivio#arphoto p.nspText
将引用的内容很困难。很有可能id=“arphoto”
必须是dyplicateI我认为很明显,其目的是只修改触发事件的特定div内的元素,而不是所有与该选择器匹配的元素。您不需要任何额外的代码。@AdrianoD'Abrusco,我建议您使用类名。像
<div id="archivio" class="nspArt nspCol4" style="padding:0 20px 20px 0;clear:both;">
<div class="archivio nspArt nspCol4" style="padding:0 20px 20px 0;clear:both;">
jQuery('#serie').on('mouseenter', '.archivio', function( event ) {
jQuery(this).find("#arphoto p.nspText").css("display","block");
jQuery(this).find("#bkgpanel").css("background-color","rgba(0, 0, 0, 0.5)");
}).on('mouseleave', '.archivio', function( event ) {
jQuery(this).find("#arphoto p.nspText").css("display","none");
jQuery(this).find("#bkgpanel").css("background-color","rgba(0, 0, 0, 0)");
});