首页 > 解决方案 > 如何检查 .class 中的第一类成员并使用悬停

问题描述

我正在尝试制作一个让我将鼠标悬停在特定班级成员上的功能:

function cIf(element){

    if($(element+"[1]" + ":hover").length != 0){
        return true;
    }else{
        return false;
    }

}

我得到这个:语法错误,无法识别的表达式:不支持的伪:悬停

当我这样称呼时:

$(document).ready(function(){
    $(document).click(function(){
        if(cIf(".myNav")){
            alert($(".myNav").html());
        }
    })
});

我不知道如何检查特定的班级成员并使用 :hover on him xx 这是我的 html,也许这有帮助:

<div class='myNav'>Home</div>
<div class='myNav'>Market</div>

我只希望它在我点击主页时工作,如果我删除 [1] 它适用于所有元素,我不希望这样......

标签: javascriptjquery

解决方案


如果我单击第一个元素而不是最后一个元素而不是第三个元素,我想获得警报,该类中有 10 个元素。

你可以做这样的事情,试一试,看看这是否能让你得到你想要的:

$(document).ready(function() {
  $(".myNav li").click(function() {
    if ($(this).closest("ul").children(":first").html() === $(this).html()) {
      alert($(this).html());
    }
  })
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="myNav">
  <ul>
    <li><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
  </ul>
</div>

即使您有嵌套列表(如下拉导航),这也可以工作,并且您不必像其他答案一样硬核检查值(例如检查值是否为“Home”)


推荐阅读