Javascript 正在获取来自数组的列表项的索引

Javascript 正在获取来自数组的列表项的索引,javascript,jquery,html,cordova,Javascript,Jquery,Html,Cordova,我有这个阵列: var names = [ "Name1", "Name2", "Name3" ]; 我将其转换为HTML的无序列表: for(i = 0; i < names.Length; i++){ text += "<li>" + names[i] + "</li>"; } text += "</ul>"; document.getElementById("choices").innerHTML = text

我有这个阵列:

var names = [
    "Name1",
    "Name2",
    "Name3"
];
我将其转换为HTML的
无序列表

for(i = 0; i < names.Length; i++){
    text += "<li>" + names[i] + "</li>";
}
text += "</ul>";


document.getElementById("choices").innerHTML = text;

但这些似乎不是为我做的

我可以给每个
  • 项目打电话吗?现在该怎么办?

    $(“li”)。index
    将返回DOM中所有li元素的元素索引

    您需要对单击元素的jquery对象使用
    .index()
    。它将返回其父容器中的元素索引:

    var index = $(this).index();
    
    $(“li”).index
    将返回DOM中所有li元素的元素索引

    您需要对单击元素的jquery对象使用
    .index()
    。它将返回其父容器中的元素索引:

    var index = $(this).index();
    

    您可以使用
    index
    方法直接获取
    index

    $("li").click(function () {
      alert($(this).index());
    });
    
    如果页面上有多个
    ul
    元素,并且希望将
    单击事件
    绑定到某个特定的
    元素
    ,则可以执行此操作

    要按id绑定元素,请单击

    $("#YourUlId li").click(function () {
          alert($(this).index());
    });
    
    要按类绑定click事件

    $(".YourUlClass li").click(function () {
          alert($(this).index());
    });
    

    您可以使用
    index
    方法直接获取
    index

    $("li").click(function () {
      alert($(this).index());
    });
    
    如果页面上有多个
    ul
    元素,并且希望将
    单击事件
    绑定到某个特定的
    元素
    ,则可以执行此操作

    要按id绑定元素,请单击

    $("#YourUlId li").click(function () {
          alert($(this).index());
    });
    
    要按类绑定click事件

    $(".YourUlClass li").click(function () {
          alert($(this).index());
    });
    

    在for循环中动态传递id

    for(i = 0; i < names.Length; i++){
        text += "<li id="+i+">" + names[i] + "</li>";
    }
    

    在for循环中动态传递id

    for(i = 0; i < names.Length; i++){
        text += "<li id="+i+">" + names[i] + "</li>";
    }
    

    使用本机javascript,您只需创建一个函数,该函数将提醒li元素值/id对应的数组值的索引

    首先,将函数附加到选项上

    document.getElementById('Name2').setAttribute('onclick','checkIndex(this)');
    
    然后循环遍历数组并查找匹配的数组值

    function checkIndex(item){
      for(i=0;i<names.length;i++){
        if(names[i] == item.innerHTML){ //or item.id
          alert(names.indexOf(names[i]));
        }
      }
    }
    
    功能检查索引(项){
    
    对于(i=0;i使用本机javascript,您只需创建一个函数,该函数将提醒与li元素值/id对应的数组值的索引

    首先,将函数附加到选项上

    document.getElementById('Name2').setAttribute('onclick','checkIndex(this)');
    
    然后循环遍历数组并查找匹配的数组值

    function checkIndex(item){
      for(i=0;i<names.length;i++){
        if(names[i] == item.innerHTML){ //or item.id
          alert(names.indexOf(names[i]));
        }
      }
    }
    
    功能检查索引(项){
    
    对于(i=0;i使用
    this
    获取当前元素

    <ul>
    <li>Male</li>
    <li>Female</li>
    </ul>
    
     <script>
    $("li").click(function(){
     alert($(this).index())
    })
     </script>
    
    • 男性
    • 女性
    $(“li”)。单击(函数(){ 警报($(this.index()) })
    使用
    获取当前元素

    <ul>
    <li>Male</li>
    <li>Female</li>
    </ul>
    
     <script>
    $("li").click(function(){
     alert($(this).index())
    })
     </script>
    
    • 男性
    • 女性
    $(“li”)。单击(函数(){ 警报($(this.index()) })
    请参见下面的工作片段

    var名称=[
    “名称1”,
    “名称2”,
    “名称3”
    ];
    变量文本=“
      ”; 对于(i=0;i”+名称[i]+“”; } text+=“
    ”; document.getElementById(“选项”).innerHTML=text; $('li')。在('click',function()上{ 警报($(this.index()) })

    请参见下面的工作片段

    var名称=[
    “名称1”,
    “名称2”,
    “名称3”
    ];
    变量文本=“
      ”; 对于(i=0;i”+名称[i]+“”; } text+=“
    ”; document.getElementById(“选项”).innerHTML=text; $('li')。在('click',function()上{ 警报($(this.index()) })

    我将使用jquery处理的html数据属性以声明方式处理它。请参阅

    这里有一个例子

    var name=[“杰克”、“玛丽”、“卢”、“安德鲁”];
    var text=“
      ”; 对于(var i=0;i”+名称[i]+“”; } text+=“
    ”; document.getElementById(“选项”).innerHTML=text; $(“li”)。单击(功能(e){ 警报($(this).data(“id”); });
    
    我的选择
    
    我将使用jquery处理的html数据属性以声明方式处理它。请参阅

    这里有一个例子

    var name=[“杰克”、“玛丽”、“卢”、“安德鲁”];
    var text=“
      ”; 对于(var i=0;i”+名称[i]+“”; } text+=“
    ”; document.getElementById(“选项”).innerHTML=text; $(“li”)。单击(功能(e){ 警报($(this).data(“id”); });
    
    我的选择
    
    你真的应该这样做,因为我又犯了一个错误:
    $(“#选择”)。单击(function(){//choices是包含我所有
  • s.var索引的DOM元素。index=$(this.index();$(“span”).text(“索引是:#”+index);)
  • #选择
    我应该使用
  • 而不是
    #选择
    如果我因为这篇文章而失去了很多声誉,我会将其删除。我认为下面对这个问题进行了很好的讨论,所以你不应该否决它。可能是其他用户得到了它。谢谢。你真的应该把它作为
    'I was还犯了一个错误:
    $(“#选择”)。单击(function(){//choices是包含我所有
  • s.var索引的DOM元素。var index=$(this.index();$(“span”).text(“索引为:#“+index”))
  • #选择是
    我应该使用
  • 而不是
    #选择
    如果我因为这篇文章而失去了很多声誉,我会将其删除。我认为下面对这个问题进行了很好的讨论,所以你不应该投反对票。可能是其他用户得到了它。谢谢。我只有一个问题:如果我有在同一上下文或文件中有多个
    。您可以通过
    id
    class
    $(“#youruid li”)将单击功能绑定到特定的
    ul li
    .单击
    我只有一个问题:如果在同一上下文或文件中有多个
    ,该怎么办?您可以通过
    id
    class
    $(“#youruid li”)将单击功能绑定到特定的
    ulli
    。单击
    谢谢你的回答。我从中选择了一个想法。虽然我使用
    数组
    而不是
    DOM
  • s
  • 。很高兴你有了一个想法谢谢你的回答。我从中选择了一个想法。虽然我使用
    数组
    而不是
    DOM
  • s
  • 。很高兴你得到了一个非常容易理解的想法。谢谢