检索div元素

时间:2015-12-17 00:34:50

标签: jquery html

我有一个ajax POST方法,我在这里使用FreeMarker模板的响应html(addNewRow.ftl)。响应html由两个div元素组成 - 一个包含表行数据,另一个包含验证错误。

将表格行附加到表格主体时,缺少tr标记 - 导致显示不正确。我目前正试图传递围绕虚拟表标签的数据,看看是否能解决问题。与此同时,我感谢任何指导。

html代码

<table>
    <tbody>
    <tr>
      <td><input value="R1C1"></td>
      <td><input value="R1C2"></td>
    </tr>
    </tbody>
</table>

js code

jQuery(function ($) {
    //to simulate the ajax request
    var html = '<div id="mainDiv"><tr>\
   <td>\<input value="R2C1">\</td>\
   <td>\<input value="R2C2">\</td>\
</tr></div><div id="errDiv">error Test</div>';

    var obj = $('table')
    $.post('/echo/html/', {
        html: html
    }, function (template) {
        console.log(template);
        var mainDiv = $(template).filter('#mainDiv');
        console.log(mainDiv);
        var errDiv = $(template).filter('#errDiv');
        console.log(errDiv);
        obj.find('tbody').append(mainDiv);

        obj.find('tbody').before(errDiv);
    }, 'html');
})

Jsfiddle

1 个答案:

答案 0 :(得分:0)

最终为我工作的解决方案是在tr html周围包装一个表标签,然后从div元素中提取tr html。