创建元素和设置属性

时间:2013-08-14 15:04:56

标签: jquery

我是jquery的新手,我试图在按钮上创建元素并为其设置属性。 这是我到目前为止的代码

$('#myTable').append(
  $('<tr>').append(
    $('<td>').append(
      $('<input>', {type: 'text', id: 'id'}).append(
        $('<td>').append(
          $('<input>', {type: 'button', id: 'btnAdd', onclick: 'AddRow()',value: 'addrow'})
        )
      )
    )
  )
);

我知道这是错的,所以我需要你的帮助来解决它。

我想输出的是:

<tr>
  <td><input type="text" id="id"></td>
  <td><input type="button" id="btnAdd" onclick="AddRow()" value="addrow"></td>
</tr>

3 个答案:

答案 0 :(得分:5)

你可以简单地写

$('#myTable').append('<tr><td><input type="text" id="id"></td><td><input type="button" id="btnAdd" onclick="AddRow()" value="addrow"></td></tr>');

答案 1 :(得分:1)

使用jQuery.attr函数设置元素的html属性:

修改:还存在逻辑错误。

$('#myTable').append(
  $('<tr>').append(
    $('<td>').append(
      $('<input>' )
      .attr( {type: 'text', id: 'id'} )
    )
  )
  .append(
    $('<td>').append(
      $('<input>' )
      .attr( {type: 'button', id: 'btnAdd', onclick: 'AddRow()',value: 'addrow'} )
    )
  )
);

另请参阅:http://api.jquery.com/attr/

答案 2 :(得分:0)

$(document).ready(function() {
var html_obj = '<tr>';
html_obj += '<td> <input type="text" id="id" value=""/> </td>';
html_obj += '<td> <input type="button" id="btnAdd" onclick="AddRow()" 
                value="addrow" /> </td>';
html_obj += '</tr>';               
$('#myTable').append(html_obj);
});

<table id="myTable">            
</table>

如果你有一个空表,你可以使用$('#myTable tr:last')。after(html_obj)。 这将给你一个完美的结构。希望这会奏效。