jquery - 如何使用 <li> 作为 jquery 悬停选择器?

标签 jquery html css

我有一个列表,当我将鼠标悬停在列表上时,我想更改其内容。为什么这不起作用?我可以使用 id 作为选择器,它会触发悬停功能,但随后列表项都会改变颜色,而不仅仅是我想要的颜色。我也无法使用个人 ID,因为它们是动态创建的。这是相关 jquery 的片段。

for (var i=0;i < count; i++)
    {   
        if (i == 4) {break;}
        var elemId = resultsTemp[i].split('.')[0];
        var elemName = resultsTemp[i].split('.')[1];                
        addToList += '<li id="'+elemId+'" class= "profResultsName">'+elemName+'</li>';
    }
        $("#professorDropDown").append(addToList);

这是另一个

$(".profResultsName").hover(function() 
{
    $(this).css("color","white");
},
function () 
{
    $(this).css("color","black");
});

这是相关的 html。

<ul id="professorDropDown" class="addContainer"></ul>

最佳答案

看起来有两个问题:class"profResultsName" 中缺少 = 和动态元素的处理

for (var i=0;i < count; i++)
{   
    if (i == 4) {break;}
    var elemId = resultsTemp[i].split('.')[0];
    var elemName = resultsTemp[i].split('.')[1];                
    addToList += '<li id="'+elemId+'" class="profResultsName">'+elemName+'</li>';//= missing after class
}
    $("#professorDropDown").append(addToList);

然后

$('#professorDropDown').on('mouseenter', 'li.profResultsName', function(){
    $(this).css('color', 'red')
}).on('mouseleave', 'li.profResultsName', function(){
    $(this).css('color', 'green')
})

演示:Fiddle

关于jquery - 如何使用 <li> 作为 jquery 悬停选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18427951/

相关文章:

jquery - 如何构建 HTML5 游戏

javascript - 接受带小数点的固定长度数字的便捷方法

css - 在 CSS Sprite 下对齐文本

javascript - 如何在方向之间没有 "blink"的情况下使用 CSS 动画向上/向下移动 div?

jquery - RaphaelJS 在点击时删除元素

javascript - JQuery JCrop如何让图片居中

javascript - 从 iframe 内部检测 &lt;iframe&gt; 高度和宽度

php - 使用线性渐变 css html 时背景屏幕拆分

javascript - 从数组中删除未选中的复选框

css - 无法在我的静态目录中导入字体