我在将javascript中的内联html转换为jquery时遇到了问题。
我想避免使用内联脚本,因此firebug不会在一行中显示整个脚本,而是保留格式。
基本上我现在有这个:
var zeile2 = $("<tr id='wle_focusout_"+paramDataObject.id+"'>" +
"<td><input id='wle_input_seconds_"+paramDataObject.id+"' type='text'/> </td>" +
"<td><input id='wle_input_height_"+paramDataObject.id+"' type='text'/> </td>" +
"<td><input id='"+get_waterlevelevent_del_btn_name(paramDataObject.id)+"' type='button' value='"+languagebox.editor_wleRemoveBtn_header+"'/> </td>" +
"</tr>");
一个有3个tds的tr,每个td都有一个输入元素。
到目前为止,我自己转换了每个元素:
var wleFocusOut = $(document.createElement('tr')).attr({
id: 'wle_focusout_'+paramDataObject.id,
});
var wleInputSec = $(document.createElement('input')).attr({
id: 'wle_input_seconds_'+paramDataObject.id,
type: 'text'
});
var wleInputHeight = $(document.createElement('input')).attr({
id: 'wle_input_height_'+paramDataObject.id,
type: 'text'
});
var wleDelBtn = $(document.createElement('input')).attr({
id: get_waterlevelevent_del_btn_name(paramDataObject.id),
value: languagebox.editor_wleRemoveBtn_header,
type: 'button'
});
var wleTempTd = $(document.createElement('td'));
然而,这些jquery元素已关闭(没有正文内容)。
如何用jquery创建一个open()版本,允许我添加(只是追加?)tds等?
答案 0 :(得分:0)
我找到了解决方案:
var zeile2 =
$('<tr/>', {'id':'wle_focusout_'+paramDataObject.id}
).append(
$('<td/>').append(
$('<input/>',{
'id': 'wle_focusout_'+paramDataObject.id})
)
).append(
$('<td/>').append(
$('<input/>',{
'id': 'wle_input_seconds_'+paramDataObject.id,
'type': 'text'})
)
).append(
$('<td/>').append(
$('<input/>',{'id': 'wle_input_height_'+paramDataObject.id,
'type': 'text'})
)
).append(
$('<td/>').append(
$('<input/>',{'id': get_waterlevelevent_del_btn_name(paramDataObject.id),
'value': languagebox.editor_wleRemoveBtn_header,
'type': 'button'})
)
);
使用这种不同的语法,它确实有效,而firebug不会假设这个内联脚本。