javascript - 使用 jQuery 添加元素而不替换其他元素

标签 javascript jquery html

我的网站上有一个列表,我想添加一个 mouseenter 函数,以便当鼠标移到一个项目上时出现两行,并在鼠标离开时消失。我能够使线条出现和消失,但是当它们这样做时,它们会上下移动列表项,这会减少功能性并且在美观上没有吸引力。我想让这些行出现(一根在 SPAN 上方,一根在 SPAN 下方)而不替换列表中的元素。

这是我的代码和演示:http://jsfiddle.net/strw22fe/

脚本:

     $(document).ready(function(){
              $("SPAN").mouseenter(function() {
                                   var line = "<hr>";


                                    $("SPAN").eq(this.id-1).before(line);
                                 $("SPAN").eq(this.id-1).after(line);
                                 });
              });
$(document).ready(function(){
              $("SPAN").mouseleave(function() {

                                   $("hr").remove();
                                   });
              });

注意:我已将此函数应用于跨度,因为我可以比控制 li 的宽度更轻松地控制其宽度。

最佳答案

最好的方法是使用 CSS :hover

像这样的事情应该没问题。

删除 JS 代码并安装以下 CSS 代码

li:hover{
    border-top: 1px solid black;
    border-bottom: 1px solid black;
}

li{
    list-style-position: inside;
    border-top: 1px solid transparent;
    border-bottom:1px solid transparent;
}

这是您的 updated fiddle .

关于javascript - 使用 jQuery 添加元素而不替换其他元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27623257/

相关文章:

javascript - Javascript:音频播放器出现问题,同时播放所有音频

javascript - 如何根据游戏数量显示一个div

jquery - 在 Rails 3 中使用 jQuery 插件

javascript - jQuery 对话框下拉列表第二次不出现

html - 如何使 CSS 规则在另一个 div 标签内表现不同?

javascript - 在 getJSON 中插入 props 时出错

javascript - 在 div 中获取字体和标题标签

html - 如何摆脱标题和导航之间(之后)的小空间?

html - 用于更大显示器的 CSS

javascript - 使用父标签的样式属性附加新标签