2017-04-14 57 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