在 td 元素之后附加 TD('s)



我目前有以下html:

        <tr>
            <td class="success" rowspan="1">Viability</td>
            <td data-rowh="-Checksum">Viability-Checksum</td>
        </tr>
        <tr>
            <td data-rowh="-Request">Viability-Request</td>
        </tr>

我想做的是用数据属性data-rowhadd columns after each td。它看起来像这样(testdata):

        <tr>
            <td class="success" rowspan="1">Viability</td>
            <td data-rowh="-Checksum">Viability-Checksum</td>
            <td data-check="P1-Checksum">Test P1</td>
            <td data-check="P2-Checksum">Test P2</td>
            <td data-check="P3-Checksum">Test P3</td>
            <td data-check="P4-Checksum">Test P4</td>
            <td data-check="P5-Checksum">Test P5</td>
        </tr>
        <tr>
            <td data-rowh="-Request">Viability-Request</td>
            <td data-check="P1-Request">Test P1</td>
            <td data-check="P2-Request">Test P2</td>
            <td data-check="P3-Request">Test P3</td>
            <td data-check="P4-Request">Test P4</td>
            <td data-check="P5-Request">Test P5</td>
        </tr>

我假设使用下面的函数(显然不是)

        $('[data-rowh]').each(function (rIndex, rValue) {
            $.each(data.items, function (index, value) {
                rValue.after("<td data-check='" + value.name + "-" + rValue.data("rowh") + "'>test " + value.name + "</td>");
            })
        });

当我使用after()函数rIndexrValue时,我得到错误:the property of the method after is not supported by this object。知道我做错了什么吗?

注:对于感兴趣的里程碑看起来像:

"items" : [  
{  "msId": "000104",  "name": "P1",  "msdescription": "Augustus" }
{  "msId": "000105",  "name": "P2",  "msdescription": "Descr" }
{  "msId": "000106",  "name": "P3",  "msdescription": "Test" }
{  "msId": "000107",  "name": "P4",  "msdescription": "456798" }
{  "msId": "000108",  "name": "P5",  "msdescription": "Autumn" }
]

在jQuery对象上的.each()循环中,当您引用值(或this)时,您正在使用实际的DOM节点,而不是一个jQuery对象。为了使用jQuery函数,例如.after(),您需要将其包装在jQuery对象中:

$(rValue).after(...);

最新更新