Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery定位特定元素_Jquery_Html - Fatal编程技术网

使用jquery定位特定元素

使用jquery定位特定元素,jquery,html,Jquery,Html,我想制作一个jquery导航栏,它将显示当您将鼠标悬停在其中一个链接上时将查看的内容: html: <nav> <ul> <li><a href="#"><span>Link 1</span></a></li> <li><a href="#"><span>Link 2</span></a></l

我想制作一个jquery导航栏,它将显示当您将鼠标悬停在其中一个链接上时将查看的内容:

html:

<nav>
    <ul>
        <li><a href="#"><span>Link 1</span></a></li>
        <li><a href="#"><span>Link 2</span></a></li>
        <li><a href="#"><span>Link 3</span></a></li>
        <li><a href="#"><span>Link 4</span></a></li>
    </ul>
</nav>

因此,如果第一个项目被悬停,我想获取第一个跨度,依此类推。我想到了一个实现许多函数的解决方案,但这并没有多大帮助,是的,我是一个jquery noob。

它看起来很简单:

$('li a').on('mouseenter mouseleave', function(e){
    $(this).find('span').toggle(e.type == 'mouseenter');
});

这似乎很简单:

$('li a').on('mouseenter mouseleave', function(e){
    $(this).find('span').toggle(e.type == 'mouseenter');
});

要引用当前元素,需要使用$(this)。见下文:

$('li a').hover(
    function () {
      $(this).find('span').show()
    },
    function () {
      $(this).find('span').hide()
    }
  );
});

要引用当前元素,需要使用$(this)。见下文:

$('li a').hover(
    function () {
      $(this).find('span').show()
    },
    function () {
      $(this).find('span').hide()
    }
  );
});

当您将鼠标悬停在它上面时,它将显示一种颜色。试试


当您将鼠标悬停在它上面时,它将显示一种颜色。试试


您将无法触发锚点上的事件,因为您隐藏了范围,因此锚点内部没有任何内容,您可以将处理程序绑定到
li
元素:

 $('li').hover(
      function(){
        $(this).find('span').show();
     },
      function(){
        $(this).find('span').hide();
     }
 );

您将无法触发锚点上的事件,因为您隐藏了范围,因此锚点内部没有任何内容,您可以将处理程序绑定到
li
元素:

 $('li').hover(
      function(){
        $(this).find('span').show();
     },
      function(){
        $(this).find('span').hide();
     }
 );
下面是一个简单的代码:

$('li').hover(function () {
    $(this).find('span').toggle();
});
下面是一个简单的代码:

$('li').hover(function () {
    $(this).find('span').toggle();
});

在传递给
hover()
方法的每个函数中,可以使用
$(this)
引用当前悬停的元素。最好的方法是将css规则添加到span-
显示:none
。在这种情况下,默认情况下span将被隐藏,您可以避免闪烁。我想用jquery来实现这一点,现在我已经知道了如何使用CSS来实现这一点。在传递给
hover()
方法的每个函数中,您都可以使用
$(此)
引用当前悬停的元素。最好的方法是将css规则添加到span-
显示:无
。在这种情况下,默认情况下span将被隐藏,您可以避免闪烁。我想用jquery实现这一点,我现在已经知道如何使用cssThanks:)这可能是最好的答案:)谢谢:)这可能是最好的答案:)什么是“e.which=='mouseenter'”做什么?@aleksXPO
e.which=='mouseenter'
什么都不做,@billyonecan是正确的,但是
e.type==“mouseenter”
创建一个布尔值,然后将该值传递给
.toggle()
函数@比利:谢谢你的接球!这当然是我想要输入的,但不知何故,很明显,我的手指有其他想法…@DavidThomas我毫不怀疑它是:p巧妙的解决方案,从来都不知道你能传递布尔到
toggle()
什么是“e.which=='mouseenter'”做什么?@aleksXPO
e.which=='mouseenter'
什么都做不了,@billyonecan是对的,但是
e.type==“mouseenter”
创建一个布尔值,然后将该值传递给
.toggle()
函数@比利:谢谢你的接球!这当然是我想要输入的,但不知何故,很明显,我的手指有其他想法…@DavidThomas我毫不怀疑它是:p整洁的解决方案,从来都不知道你可以将布尔传递到
toggle()