Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery检索ID_Javascript_Jquery - Fatal编程技术网

Javascript jQuery检索ID

Javascript jQuery检索ID,javascript,jquery,Javascript,Jquery,我试着处理我的第一个项目,手风琴菜单。我已经为每个需要显示/隐藏一类.menu和一个id的项进行了设置 在尝试检索每个元素的id时,我使用了以下语句: var $currentId = $('ul.menu').attr('id'); 唯一的问题是,这似乎只检索第一个元素的id。有谁能告诉我如何检索所有的数据,并将它们存储在一个变量中。我计划使用if语句,以便在单击时检查每个特定id。谢谢 编辑:似乎我被误解了我要做的是,我将从头开始: 这是我的HTML: <ul id="contain

我试着处理我的第一个项目,手风琴菜单。我已经为每个需要显示/隐藏一类.menu和一个id的项进行了设置

在尝试检索每个元素的id时,我使用了以下语句:

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放入一个数组,可以使用jQuery
map
方法

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放入一个数组,可以使用jQuery
map
方法

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')