javascript - 在 JavaScript if 条件中比较 jQuery(this)

标签 javascript jquery if-statement this

我希望将当前选择器与 JavaScript if 条件中的存储节点进行比较。

在我的代码中,我创建了一个图像节点和 li 节点的数组。我希望能够将用户当前悬停的 li 与 links 数组中的元素进行比较,例如,当前悬停的链接是否与 links[0] 相同?

我尝试了很多方法来检查 jQuery(this) 和链接之间的相等性,但我无法获得 if 语句来发现它们相等。您能告诉我如何将当前选择器与存储在数组中的选择器位置进行比较吗?

下面是我的代码(我使用 jQuery 作为我的选择器,因为这是一个 Wordpress 网站):

jQuery("li.menu-cloud").hover( function(){

    // Identify the containers of the links and the featured images:
    var nav = document.getElementById("nav");
    var holder = document.getElementById("img-holder");

    // Creates an array of the individual links and featured images of the menu links:
    var pics = holder.getElementsByTagName("img"); 
    var links = nav.getElementsByTagName("li");

    //Store current li in a variable to test:
    var element = jQuery(this);
    if ( links[0] == element )
    {        
        alert("links[0] equals this element");

    }
    else {}


},
function() {
    alert("You have left a menucloud link.");
});

最佳答案

您正在将数组项(DOM 元素)与 jQuery 对象进行比较。您应该比较 jQuery 选择的实际元素,您可以使用索引访问器 (element[0]) 或 .get() 来完成此操作。方法 (element.get(0))

例如

if (links[0] == element[0])

if (links[0] == element.get(0))

关于javascript - 在 JavaScript if 条件中比较 jQuery(this),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51340839/

相关文章:

javascript - 如何在 react 表中使用 getTheadThProps ?

javascript - 如何通过 HTTP Post 请求发送 XML 数据流

javascript - 用于 int-string 对的高性能 JS 映射

javascript - 使用 localStorage 代替 Cookies 有什么缺点吗?

javascript - 在 async forEach 循环下通过 async 方法修改数组对象

javascript - 使用 Jquery 通过鼠标单击进行单选,通过 CTRL + 单击 div 内的图像进行多选

c++ - 如何检查字符串是否在字符串列表中?

batch-file - 比较 DOS 批处理中的 2 个数字不起作用

javascript - 缩短同一变量的多个 IF 条件

javascript - 日期选择器关闭的 Angular 事件检测