Javascript 如何找到从json生成的html元素的id
我正在从Json生成html列表项。ID等于JSON中的ID。因此,我不能特别提到id='thing'。问题是,在后面的函数中,当我只知道id=I时,如何让函数引用对象的idJavascript 如何找到从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>" + "&
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”)
访问idthing
如果使用jQuery,还可以引用它在列表中的位置(假设我没有增加1)
其中:eq(#)
是列表中项目的位置
如果函数在生成的列表项中被引用,您也可以尝试使用jQuery的父函数向上导航dom:
var liObj=$j('#'+id)
代码没有错误,它现在的工作方式非常好。但我想这里的问题是,我如何引用它在列表中的位置…基本上是这样的…我们导入JSON,它生成html列表,项目是拖放的,所以它们的位置会改变。。然后在导出时重新分配序列号,并将JSON发送到它要去的地方,因此:eq()
将及时显示它现在的位置(因此在位置更改后)
$("#" + id)
$('.list-item:eq(0)').text()