[英]Bind jQuery hover event to multiple DOM elements
我有一个无序列表的元素,我想将悬停事件绑定到每个这些元素。 HTML结构如下:
<ul>
<li id="url_1">item 1</li>
<li id="url_2">item 2</li>
</ul>
我认为使用for循环将是最好的方法。 所以我的jQuery代码如下:
for(i=1;i<=2;i++){
$("li#url_"+i).hover(function () { /* do something on mouseenter */}, function () { /* do something on mouseleave */ }); }
这应该将悬停事件绑定到li#url_1和li#url_2。 但这不起作用!
您能建议正确(更有效)的方法吗?
干杯,Kartik Rao
首先,不要忘记将jQuery代码放在$(document).ready(function { })
块中,这样它只会执行DOM加载。
其次,为什么不分配ID
或class
,或者什么可以帮助您访问顶部的UL
元素的东西,然后执行此操作:
$("ul#yourId > li").hover(function() { ............. }, function() { ... });
而不是建立一个周期。 在事件处理程序内部,使用this
可以访问li
元素,并在需要时查看其id
。 例如,事件处理程序将分配给所有li
元素,这些li
元素是该ul
元素的直接子元素,并且yourid
为id
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.