通过 jQuery 比较元素
Compare Elements via jQuery
我想检查两个元素(一个被点击,另一个被引用)是否相同,我想做的是:
$("#process li").click(function() {
currentElement = $(this);
referenceElement = $("#process li:first-child");
if (currentElement === referenceElement) {
$(".mark").removeClass("mark");
$(this).addClass("mark");
}
});
所以我想要检查点击的 <li>
是否是 ul#process
的第一个子元素,如果是,首先从另一个元素中删除一个 .mark class 然后添加它到点击的那个。我没有得到任何工作结果 - 有人有想法吗?
更新:
非常感谢!这是我的解决方案:
$("#processlist li").click(function() {
currentElement = $(this);
if (currentElement.is('li:first-child')) {
$(this).addClass("mark");
}
});
现在,如果我单击
,如果它是此列表的第一个子项,则会添加 class .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 ) )
我想检查两个元素(一个被点击,另一个被引用)是否相同,我想做的是:
$("#process li").click(function() {
currentElement = $(this);
referenceElement = $("#process li:first-child");
if (currentElement === referenceElement) {
$(".mark").removeClass("mark");
$(this).addClass("mark");
}
});
所以我想要检查点击的 <li>
是否是 ul#process
的第一个子元素,如果是,首先从另一个元素中删除一个 .mark class 然后添加它到点击的那个。我没有得到任何工作结果 - 有人有想法吗?
更新:
非常感谢!这是我的解决方案:
$("#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 ) )