Javascript Can';我没发现哪个李在盘旋

Javascript Can';我没发现哪个李在盘旋,javascript,jquery,html,Javascript,Jquery,Html,这很简单,我过去也做过很多次,但我不知道为什么现在不行 HTML <div class="box" style="height: 50%;"> <input type="search" class="input searchBox" placeholder="Search for items"> <ul class="SearchResults clearfix"></ul> </div> 然后是这个简单的悬停代码 $

这很简单,我过去也做过很多次,但我不知道为什么现在不行

HTML

<div class="box" style="height: 50%;">
    <input type="search" class="input searchBox" placeholder="Search for items">
    <ul class="SearchResults clearfix"></ul>
</div>
然后是这个简单的悬停代码

$(".SearchResults li").hover(function () {            
    alert();
});
我已确保此脚本正在运行。添加了li,但无论我做什么,我都无法检测到li hover,如果我将代码更改为hover ul而不是li,它会发出警报。

您应该使用动态生成的元素,并且在事件中也使用此
来获取悬停的元素

$(".SearchResults").on('mouseenter', 'li', function () {
    alert(this);
})

$(“.SearchResults li”).hover(函数(){console.log(this);})
处理程序中的此
将引用悬停的
li
元素您应该将事件委托给静态UL容器,以便处理正在创建的动态元素sli的事件感谢它的工作。所以,如果我动态添加元素,我必须使用事件委派?是的。就这样@Waleedvar li=$(this+“.name”).text();给我一个错误。name是每个liTry中的一个跨距,如下所示:
var li=$(“.name”,this).text()
@WaleedThis也有效:
var li=$(this);var name=li.children('.name').text()
$(".SearchResults").on('mouseenter', 'li', function () {
    alert(this);
})