我希望将当前选择器与 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/