2010-05-03 96 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的接受。