Javascript Jquery如果类具有匹配的ID,则隐藏
这里我要做的是检查一个元素是否与另一个元素中的类具有相同的Javascript Jquery如果类具有匹配的ID,则隐藏,javascript,jquery,html,Javascript,Jquery,Html,这里我要做的是检查一个元素是否与另一个元素中的类具有相同的id,如果是,则隐藏匹配的id 到目前为止,这是我想到的,但它似乎没有踢 var theid=$('me li').attr('id'); if($('#you li').hasClass(theid)){ $(“#me li”+theid+”).hide(); } iam 1 ieam 2&;应该隐藏起来 iam 3 iam 4 ieam 5&;应该隐藏起来 iam 6 iam杀手 iam杀手 使用each()
id
,如果是,则隐藏匹配的id
到目前为止,这是我想到的,但它似乎没有踢
var theid=$('me li').attr('id');
if($('#you li').hasClass(theid)){
$(“#me li”+theid+”).hide();
}
iam 1
ieam 2&;应该隐藏起来
iam 3
iam 4
ieam 5&;应该隐藏起来
iam 6
iam杀手
- iam杀手
each()
循环遍历中的所有li
元素
hide()
具有与循环中当前元素的class
相同的id的元素
$('#you li')。每个(函数(){
$('#'+$(this.attr('class')).hide();
});代码>
iam 1
ieam 2
iam 3&;应该隐藏起来
iam 4
ieam 5&;应该隐藏起来
iam 6
- iam杀手
- iam杀手
使用each()
循环遍历中的所有li
元素
hide()
具有与循环中当前元素的class
相同的id的元素
$('#you li')。每个(函数(){
$('#'+$(this.attr('class')).hide();
});代码>
iam 1
ieam 2
iam 3&;应该隐藏起来
iam 4
ieam 5&;应该隐藏起来
iam 6
- iam杀手
- iam杀手
对包含多个元素的jQuery对象使用.attr()
方法时,它只返回第一个元素的属性。您需要在每个元素上循环,并一次检查一个元素
但是,出于您的目的,可以对所有元素集使用.hasClass()。因此:
var you = $('#you li');
$('#me li').each(function() {
if (you.hasClass(this.id))
$(this).hide();
});
注意,我在变量you
中保留了对$('#you li')
jQuery对象的引用,以保存每次在循环中再次选择这些元素
演示:在包含多个元素的jQuery对象上使用.attr()
方法时,它只返回第一个元素的属性。您需要在每个元素上循环,并一次检查一个元素
但是,出于您的目的,可以对所有元素集使用.hasClass()。因此:
var you = $('#you li');
$('#me li').each(function() {
if (you.hasClass(this.id))
$(this).hide();
});
注意,我在变量you
中保留了对$('#you li')
jQuery对象的引用,以保存每次在循环中再次选择这些元素
演示:为您的jquery尝试以下操作:
$(function() {
$("#you li").each(function(){
var theid = $(this).attr('class');
$('#'+theid).hide();
});
});
演示:为您的jquery尝试以下操作:
$(function() {
$("#you li").each(function(){
var theid = $(this).attr('class');
$('#'+theid).hide();
});
});
演示:您可以筛选#me li
,返回其id
作为类存在于#You li
中的元素,然后将其隐藏。这也适用于多个类:
$('#me li').filter(function() {
return $('#you').has('.' + this.id).length;
}).hide();
您可以筛选#me li
,返回其id
作为类存在于#You li
中的元素,然后将其隐藏。这也适用于多个类:
$('#me li').filter(function() {
return $('#you').has('.' + this.id).length;
}).hide();
在hasClass()之后不需要code>,
为什么要隐藏带有id=“num-1”
的元素?没有具有num-1
类的元素。请更新您的示例,使其与您的问题描述一致。在hasClass()之后不需要code>,
为什么要隐藏带有id=“num-1”
的元素?没有具有num-1
类的元素。请更新您的示例,使其与您的问题描述一致。@Pepo_rasta否,这将适用于OP提供的代码,rally需要遵守ifstatement@DCdaz为什么?不管怎么说,你正在检查元素是否有类,然后你出于其他原因隐藏了它。这是可以的,因为你已经给出了最干燥的答案,我喜欢它。@Pepo_rasta否,这将适用于代码OP提供的Hi Tushar,rally需要遵守ifstatement@DCdaz为什么?无论如何,你检查元素是否有类
,然后你隐藏它是出于其他原因,这是可以的,因为你已经给出了最简单的答案,我很喜欢。如果简单的示例html稍微复杂一点,而\you li
元素分配了多个类怎么办?我说“如果”。我的意思是,用另一种方式编写代码同样容易,然后它可以满足所显示的html或多个类的需要。我正在为OP当前的问题提供一个解决方案。我不知道他将来打算做什么。实际上,我甚至不明白他为什么要检查类而不是其他属性。但是他是:-)如果简单的示例html稍微复杂一点,并且#you li
元素分配了不止一个类怎么办?我说的是“如果”。我的意思是,用另一种方式编写代码同样容易,然后它可以满足所显示的html或多个类的需要。我正在为OP当前的问题提供一个解决方案。我不知道他在说什么