Javascript jQuery检索ID
我试着处理我的第一个项目,手风琴菜单。我已经为每个需要显示/隐藏一类.menu和一个id的项进行了设置 在尝试检索每个元素的id时,我使用了以下语句:Javascript jQuery检索ID,javascript,jquery,Javascript,Jquery,我试着处理我的第一个项目,手风琴菜单。我已经为每个需要显示/隐藏一类.menu和一个id的项进行了设置 在尝试检索每个元素的id时,我使用了以下语句: var $currentId = $('ul.menu').attr('id'); 唯一的问题是,这似乎只检索第一个元素的id。有谁能告诉我如何检索所有的数据,并将它们存储在一个变量中。我计划使用if语句,以便在单击时检查每个特定id。谢谢 编辑:似乎我被误解了我要做的是,我将从头开始: 这是我的HTML: <ul id="contain
var $currentId = $('ul.menu').attr('id');
唯一的问题是,这似乎只检索第一个元素的id。有谁能告诉我如何检索所有的数据,并将它们存储在一个变量中。我计划使用if语句,以便在单击时检查每个特定id。谢谢
编辑:似乎我被误解了我要做的是,我将从头开始:
这是我的HTML:
<ul id="container">
<li class="select"><a href ="#">Downloads</a></li>
<li >
<ul class = "menu" id="first" >
<li>
<a href ="#">iTunes</a>
</li>
<li>
<a href ="#">iTunes</a>
</li>
</ul>
</li>
<li class="select">
<a href ="#">Products List </a>
</li>
<li>
<ul class = "menu" id="second" >
<li>
<a href ="#">iTunes</a>
</li>
<li>
<a href ="#">iTunes</a>
</li>
</ul>
</li>
-
-
-
我要做的是,当我点击选择类的li时,我必须使菜单类的ul出现。如何检索ul.menu的所有id并将其存储在变量中,当我单击任何li.select时,应显示底层ul。使用
每个
循环获取每个元素的id。在循环内部,只需使用this.id
即可获得元素的id,其中`this表示dom元素
$('ul.menu').each(function(){
alert(this.id);
});
如果要将所有元素的ID放入一个数组,可以使用jQuerymap
方法
var Ids = $.map($('ul.menu'), function(){
return this.id;
});
map()
将数组或对象中的所有项转换为新的项数组<代码>ID将包含所有元素的ID
然后可以使用$.inArray
在其中搜索特定id。如果在数组中找不到,它将返回其索引或-1
if($.inArray("someId", Ids) != -1){
//Id found in the array
}
使用
each
循环获取每个元素的ID。在循环内部,只需使用this.id
即可获得元素的id,其中`this表示dom元素
$('ul.menu').each(function(){
alert(this.id);
});
如果要将所有元素的ID放入一个数组,可以使用jQuerymap
方法
var Ids = $.map($('ul.menu'), function(){
return this.id;
});
map()
将数组或对象中的所有项转换为新的项数组<代码>ID将包含所有元素的ID
然后可以使用$.inArray
在其中搜索特定id。如果在数组中找不到,它将返回其索引或-1
if($.inArray("someId", Ids) != -1){
//Id found in the array
}
这将为您提供一个包含以下ID的数组:
var listOfIds = [];
$('ul.menu').each(function(){ listOfIds.push(this.id); });
这将为您提供一个包含以下ID的数组:
var listOfIds = [];
$('ul.menu').each(function(){ listOfIds.push(this.id); });
您可能需要遍历所有项目并检查当前状态 可以使用以下方法执行此操作 您甚至可以为与选择器匹配的每个元素(在本例中为“ul.menu”)动态添加单击事件的侦听器: 编辑:单击li.select项目时,可以执行此操作以隐藏/显示辅助项目:
$('li.select').click(function(){
$(this).next().toggle();
});
您可能需要遍历所有项目并检查当前状态 可以使用以下方法执行此操作 您甚至可以为与选择器匹配的每个元素(在本例中为“ul.menu”)动态添加单击事件的侦听器: 编辑:单击li.select项目时,可以执行此操作以隐藏/显示辅助项目:
$('li.select').click(function(){
$(this).next().toggle();
});
更好的办法是使用
$('ul.menu li').click(function(event){
$(this).attr('id');
});
这将为每个菜单项设置一个事件侦听器,然后允许您在单击该菜单项时执行某些操作。带有$(this.attr('id')的行可以替换为您想要的任何代码。甚至可能是$(this.find('ul').show() 最好是使用
$('ul.menu li').click(function(event){
$(this).attr('id');
});
这将为每个菜单项设置一个事件侦听器,然后允许您在单击该菜单项时执行某些操作。带有$(this.attr('id')的行可以替换为您想要的任何代码。甚至可能是$(this.find('ul').show()
this.id
$(this)[0]。id
$(this).prop('id')
$(this).attr('id')
this.id
$(this)[0]。id
$(this).prop('id')
$(this).attr('id')
。