将一段普通JS代码改为JQuery的代码

这是一个JS文件中的代码:

[code="java"]
InnerHtml="

type='hidden' id='ddd' value='"+IdNum+"'>"+
"("+IdNum+")"+
" -"+
" +"+
" x"+
"
"+

"
"+
" "+
"
";
$_odiv.html(InnerHtml);
[/code]

需要换成JQuery的代码,于是我这样做了修改:
[code="java"]
//============
//王鑫 20090328
$_odiv1 = $("

"); //创建DIV1层
$_odiv2 = $("
"); //创建DIV2层
$_inpt1=$("");//创建一号input
$_inpt2=$("");//创建二号input
$_node_a1=$("-"); //创建一号
$_node_a2=$("
+"); //创建二号
$_node_a3=$("
x"); //创建三号
$_ifrm=$(""); //创建IFrame
//为DIV1层绑定属性。
$_odiv1.attr({
id:IdNum+"_ChatHead"
});
$_odiv1.addClass("ChatHead");
//为DIV2层绑定属性。
$_odiv2.attr({
id:IdNum+"_ChatBody",
align:"center"
});
$_odiv2.addClass("ChatBody");
//为一号INPUT绑定属性
$_inpt1.attr({
type:"hidden",
id:"sss"
});
//为二号INPUT绑定属性
$_inpt2.attr({
type:"hidden",
id:"ddd",
value:IdNum
});
//为IFRAM绑定属性
$_ifrm.attr({
name:"dddd",
src:url,
width:width,
height:height
});
//DIV2层中添加内容
$_odiv2.html($_odiv2.html()+$_ifrm.html());
//DIV1层中添加内容
$_odiv1.html($_odiv1.html()+$_inpt1.html());
$_odiv1.html($_odiv1.html()+$_inpt2.html());
$_odiv1.html("("+IdNum+")");
$_odiv1.html($_odiv1.html()+$_node_a1.html());
$_odiv1.html($_odiv1.html()+$_node_a2.html());
$_odiv1.html($_odiv1.html()+$_node_a3.html());
$_odiv.html($_odiv.html()+$_odiv1.html());
$_odiv.html($_odiv.html()+$_odiv2.html());
//=====================
[/code]

当然,运行结果失败了。改完后需要的效果就没了。
似乎连属性绑定都有问题……
谁能帮我改一下这个东西?急需啊。周末加班都不容易……

有必要非的用jquery么?

创建一个 元素必须同时设定 type 属性。因为微软规定 元素的 type 只能写一次。

jQuery 代码:

// 在 IE 中无效:
$("").attr("type", "checkbox");
// 在 IE 中有效:
$("");

我的建议是用原来的代码更好
我写过类似的代码
事实上我们的代码本来是完全用Jquery对象的API拼接起来的,但是后来发现这样做效率非常低,只好全部改为先拼接字符串,最后再一起生成Jquery对象
lz的代码我的建议只需要把字符串的“+”操作改为先往一个buffer中添加,最后toString()一下就可以了
在js中,效率也是一个需要考虑的问题,jquery绝对不是免费的午餐