Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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 如何找到从json生成的html元素的id_Javascript_Jquery_Html - Fatal编程技术网

Javascript 如何找到从json生成的html元素的id

Javascript 如何找到从json生成的html元素的id,javascript,jquery,html,Javascript,Jquery,Html,我正在从Json生成html列表项。ID等于JSON中的ID。因此,我不能特别提到id='thing'。问题是,在后面的函数中,当我只知道id=I时,如何让函数引用对象的id html += "<li class='list-item ui-state-default addNewContext' id=" + i + ">" + card.card_name + ' - ' + card.price + "<button> X </button>" + "&

我正在从Json生成html列表项。ID等于JSON中的ID。因此,我不能特别提到id='thing'。问题是,在后面的函数中,当我只知道id=I时,如何让函数引用对象的id

html += "<li class='list-item ui-state-default addNewContext' id=" + i + ">" + card.card_name + ' - ' + card.price + "<button> X </button>" + "</li>" ; /
html+=“
  • “+card.card\u name+”-'+card.price+“X”+”
  • ”/
    您已经有了
    i
    ,它是id。您的意思是希望引用具有该id的元素吗

    var myObj = jQuery("#" + i);
    

    如果您想要列表的id,可以这样做

    var x = $(".addNewContext"); // class on list 
    
    var id = x.attr("id");
    

    首先,你的代码是错误的。您应该在代码中用单引号将
    id
    括起来,因为
    id=1
    对浏览器来说意味着什么,但
    id='1'
    却意味着什么

    html += "<li class='list-item ui-state-default addNewContext' id='" + i + "'>" + card.card_name + ' - ' + card.price + "<button> X </button>" + "</li>" ; 
    
    或者在jQuery中:

    $("#" + id)
    

    真正的问题是如何将变量
    html
    添加到DOM中。使用jQuery,可以通过
    $(“#thing”)
    访问id
    thing

    如果使用jQuery,还可以引用它在列表中的位置(假设我没有增加1)

    其中
    :eq(#)
    是列表中项目的位置


    如果函数在生成的列表项中被引用,您也可以尝试使用jQuery的父函数向上导航dom:

    var liObj=$j('#'+id)
    代码没有错误,它现在的工作方式非常好。但我想这里的问题是,我如何引用它在列表中的位置…基本上是这样的…我们导入JSON,它生成html列表,项目是拖放的,所以它们的位置会改变。。然后在导出时重新分配序列号,并将JSON发送到它要去的地方,因此
    :eq()
    将及时显示它现在的位置(因此在位置更改后)
    $("#" + id)
    
    $('.list-item:eq(0)').text()