我的情况是我想检查两个元素(一个被单击,另一个是引用)是否相同,我想做的是:
$("#process li").click(function() {
currentElement = $(this);
referenceElement = $("#process li:first-child");
if (currentElement === referenceElement) {
$(".mark").removeClass("mark");
$(this).addClass("mark");
}
});
所以我想要的是检查单击的<li>
是否是ul#process
的第一个子元素,如果是,首先从另一个元素中删除 .mark 类,然后将其添加到单击的元素中。我没有得到任何工作结果 - 有人的想法吗?
更新:
非常感谢!这是我的解决方案:
$("#processlist li").click(function() {
currentElement = $(this);
if (currentElement.is('li:first-child')) {
$(this).addClass("mark");
}
});
现在,如果我单击一个
在JS中比较对象是非常麻烦的。最简单的方法是选择几个关键属性并进行比较,例如:
if (currentElement.prop('id') === referenceElement.prop('id') {
// rest of your code...
}
但是,根据您的用例,您可以使用is
:
if (currentElement.is('#process li:first-child')) {
// rest of your code...
}
示例小提琴
你需要从 jQuery 对象中提取 DOM 元素。 为此,您可以使用 jQuery 的get
方法。
例如 if( currentElement.get( 0 ) === referenceElement.get( 0 ) )