2010-05-03 46 views
0

我有一個很大的Javascript代碼轉換爲jQuery。代碼的結構使得DOM元素在Javascript中創建(使用名爲DomBuilder的庫),並且在將其添加到DOM之前將其保存到變量(如果稍後需要它們)。將DOM元素選擇代碼轉換爲jQuery

例如,

var inputs = 
{ 
    submitConfirm: INPUT({type: 'button', value: 'Submit'}), 
    submitCancel : INPUT({type: 'button', value: 'Cancel'}) 
}; 

document.appendChild(inputs.submitConfirm); 

再後來例如...

inputs.submitCancel.style.display = 'none'; 
inputs.submitCancel.addEventListener('click', onClickSubmitCancel, false); 

我的問題是,jQuery的似乎缺少直接操作DOM元素的一種方式,而不是首先選擇他們(與例如$(」 #submitCancel')。

任何人都可以建議考慮到DOM元素已經上市,方式上面給出的使用jQuery的最後兩個JavaScript線直接轉化,因此不需要進行選擇?

+0

出於好奇:爲什麼要爲一個完成的工作腳本添加一個重量級的框架? – RoToRa 2010-05-03 12:41:35

+0

用於跨瀏覽器兼容性。該代碼目前僅適用於Firefox。 – 2010-05-04 09:31:52

回答

0

任何DOM元素可以被包裝成一個jQuery對象很容易:

var myObject = $(domElement) 

隨着myObject的,你可以使用jQuery的方法。

+0

啊!簡單!我的轉換項目將如我所希望的那樣簡單直接。謝謝大家的及時回覆。 – 2010-05-03 12:33:19

0

使用$(elementVar)來獲取包含DOM元素的jQuery對象。對於例如你給:

$(inputs.submitCancel).hide().click(onClickSubmitCancel); 
1
$(inputs.submitCancel).css('display', 'none'); 

$(inputs.submitCancel).bind('click', onClickSubmitCancel); 

http://api.jquery.com/jQuery/看到什麼jQuery的接受。