2017-04-14 34 views
0

我正在从Json生成html列表项。该ID等于其在JSON中的ID。所以我不能专指id ='thing'。问题是,当我只知道id = i时,我在后面的函数中如何获取函数来引用对象的id?如何找到从json生成的html元素的ID

html += "<li class='list-item ui-state-default addNewContext' id=" + i + ">" + card.card_name + ' - ' + card.price + "<button> X </button>" + "</li>" ;/
+0

'var liObj = $ j('#'+ id)' –

回答

1

您已经有i这是id。你的意思是你想要一个具有该ID的元素的引用?

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

如果你想你的列表的ID你可以这样做。

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

var id = x.attr("id"); 
0

首先你的代码是错误的。由于id=1对浏览器没有任何意义,但id='1'可以,因此您应该在代码中用单引号将id换行。

document.getElementById(id) 

或jQuery中:

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

您可以通过访问该元素

$("#" + id) 
+0

代码不正确,它工作完美很好地处理现在的情况。但感谢 –

0

真正的问题是你如何将你的变量html你的DOM。使用jQuery的.html(),编号thing将可通过$('#thing')访问。 Working example

0

,如果你使用jQuery,您也可以参考在列表中的位置(假设我用1犯规增量)

$('.list-item:eq(0)').text() 

哪里:eq(#)是该项目在列表中的位置

如果该函数在生成的列表项中被引用,您也可以尝试使用jQuery的parent()函数导航dom:https://api.jquery.com/parent/

+0

我想这里的问题是,我如何引用它的位置在列表中......基本上这里是发生了什么...我们导入JSON,它生成html列表,项目是拖放,所以他们的位置变化..然后在出口上重新分配他们的seq号码,并发送JSON到它要去的地方 –

+0

所以':eq()'会告诉你它现在在哪里(所以在位置改变之后) – Aneuway