2012-11-09 59 views
2

可能是一個簡單的問題,但在這裏。訪問.html文件中的元素

我在地圖上有一個包含一些複選框的圖例,當我將其移動時。 我想將圖例中的一些元素變成jquery按鈕。例如,$(「#union」)。button();但是,我似乎無法訪問圖例內的元素。

我該怎麼做?我有我的代碼中的所有jquery文件,所以這不是問題。

var legend = '<ul>' 
         + '<li> <b>   Organization Type:     </b><li>' 
         + '<li> <input type="checkbox" id="unions" /> Unions ' 
         + '&nbsp &nbsp &nbsp <input type="checkbox" name="radio" id="nonunions" /> Non-Unions </li>' 
         +'<li> <b>   Sectors (Union and Non-Union):  </b> <li>' 
         + '<li class="item"><input type="checkbox" name="radio" id = "agriculture" /> Agriculture</li>' 
         + '<li class="item"><input type="checkbox" name="radio" id = "processing" /> Food Processing</li>' 
         + '<li class="item"><input type="checkbox" name="radio" id = "warehouse"/> Warehouse</li>' 
         + '<li class="item"><input type="checkbox" name="radio" id = "retail" /> Retail</li>' 
         + '<li class="item"><input type="checkbox" name="radio" id = "food" /> Food Service</li>' 
         + '<li> <b>   Non-Union Organization Type:   </b> <li>' 
         + '<li class="item"><input type="checkbox" name="radio" id="advocacy" = "adv"/> Advocacy</li>' 
         + '<li class="item"><input type="checkbox" name="radio" id = "service"/> Service</li>' 
         + '<li class="item"><input type="checkbox" name="radio" id = "workcenter" /> Work Center</li>' 
         + '</ul>'; 

$(controlLegend).html(legend); 
+0

你現在有什麼工作,只是在小提琴,因爲固定的拼寫錯誤。 (缺少'$'和'「') –

+0

'$(」#union「)''選擇器肯定有效:http://jsfiddle.net/TDQm2/ – nnnnnn

+0

無論出於何種原因,Musa的建議工作,'$(」#union 「)。).button();'不。必須是我的代碼中的其他東西。 – John

回答

2

$("#unions").button();是行不通的,如果controlLegend不是DOM的一部分。您可以使用.find()訪問controlLegend中的元素。

$(controlLegend).find("#unions").button(); 
+2

@nnnnnn由於'$(」#union「)。button ();'沒有工作我假設'controlLegend'不是DOM的一部分 – Musa

+0

謝謝穆薩,這個工作。 – John

+0

啊,好的,假設你把這個解釋轉換成你的實際答案。 – nnnnnn