我想從無序列表中使用兩個元素的id屬性作爲選擇器的一部分來獲取li項目。從無序列表中使用ul和li選擇li的ID
這是我如何使它工作使用UL CSS類的例子:
var listItem = $('ul.selectedItems li#' + opt.list[i].ID);
我試着用下面的辦法,沒有運氣:
var listItem = $("#" + opt.name).childs.find("#" + opt.list[i].ID)
我想從無序列表中使用兩個元素的id屬性作爲選擇器的一部分來獲取li項目。從無序列表中使用ul和li選擇li的ID
這是我如何使它工作使用UL CSS類的例子:
var listItem = $('ul.selectedItems li#' + opt.list[i].ID);
我試着用下面的辦法,沒有運氣:
var listItem = $("#" + opt.name).childs.find("#" + opt.list[i].ID)
您應該能夠做這樣的事情:
var listItem = $('#' + opt.name + ' > li#' + opt.list[i].ID);
應該選擇li
元素是chil第一個。請參閱jQuery Selectors: Parent/Child。
當您使用ID時,不應該有任何複雜的選擇器/查找需要。 元素ID應該是整個文檔唯一的,所以尋找一個元素很簡單,只要
var listItem = $("#" + opt.list[i].ID);
如果不工作,我建議修復你的ID,以便它們是唯一的,而不是解決該問題與一個不必要的複雜CSS選擇器。
+1 - 如果你想要黑體字,我會嘗試給你+2「元素ID應該是唯一的」 – kdgregory 2009-09-02 19:37:39
在完美的世界裏,你不會在別人身上工作代碼:你是對的。但是,我正在使用無序列表來模擬服務器端組合框的代碼。列表元素是從數據源中產生的,因此當兩個服務器控件具有相同的數據源時,ul輸出總是相同的。 我可以控制ul id,但不能控制它的li元素。由於選擇應該獨立控制,我需要能夠使用這個複雜的選擇器。 – 2009-09-02 20:38:48
我試過這種方式沒有任何運氣,但$('#'+ opt.name +'> li [id $ ='+ opt.list [i] .ID +']')訣竅。謝謝! – 2009-09-02 21:04:17