jQuery替换不按预期行事

时间:2017-11-07 12:41:27

标签: javascript jquery backbone.js

$(".rowIWanTtoReplace").replaceWith("<tr><td rowspan='11' class='n'>n</td><td rowspan='8'>n</td><td>t</td><td>n</td></tr><tr><td>u</td><td>n</td></tr><tr><td>v</td><td>n</td></tr><tr><td>w</td><td>n</td></tr><tr><td>x</td><td>n</td></tr><tr><td>y</td><td>n</td></tr><tr><td>z</td><td>n</td></tr>");
td {
  border: 1px solid black
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<table class="station-device-table4">
        <tr>
            <td>x</td>
            <td>y</td>
            <td>z</td>
        </tr>
        <tr class="rowIWanTtoReplace">
            <td rowspan="11" class="s">foobar</td>
            <td rowspan="7">foobar</td>
            <td>n</td>
        </tr>
    </table>

我只是想在这种情况下检查是否应该是replaceWith()的结果:

如果我有一个表并且在一行上我应用replaceWith(),而我替换它的是多个表行。

这不应该只影响HTML,所以显示的多个应该显示在该部分吗?

即------ TR 1 -----------

.replaceWith("<tr>x</tr><tr>y</tr>")

不应该第一行替换另一行。第二行追加?

或者有另一种方法吗?

感谢。

情况示例代码:

<table class="station-device-table4">
        <tr>
            <td>x</td>
            <td>y</td>
            <td>z</td>
        </tr>
        <tr class="rowIWanTtoReplace">
            <td rowspan="11" class="s">foobar</td>
            <td rowspan="7">foobar</td>
            <td>n</td>
        </tr>
    </table>

JQuery示例:

$(".rowIWanTtoReplace").replaceWith("<tr>
        <td rowspan="11" class="n">n</td>
        <td rowspan="8">n</td>
        <td>t</td>
        <td>n</td>
    </tr>
    <tr><td>u</td><td>n</td></tr>
    <tr><td>v</td><td>n</td></tr>
    <tr><td>w</td><td>n</td></tr>
    <tr><td>x</td><td>n</td></tr>
    <tr><td>y</td><td>n</td></tr>
    <tr><td>z</td><td>n</td></tr>")

注意:这是从骨干集合和东西。我已经向屏幕输出了用于更新的html。并将代码放在一起,就像它是正常的jquery一样。

1 个答案:

答案 0 :(得分:2)

除非你使用template literals,否则你不能在字符串中添加换行符 - 你也有嵌套的双引号,这也不起作用。 在原始代码中,您用一个也没有计算的表行替换了一个标题单元格。

这可能是你想要的:

$(".rowIWanTtoReplace").replaceWith(`<tr>
        <td rowspan="11" class="tvmStatus">TVM Status</td>
        <td rowspan="8">Component Events</td>
        <td>t</td>
        <td>n</td>
    </tr>
    <tr><td>u</td><td>n</td></tr>
    <tr><td>v</td><td>n</td></tr>
    <tr><td>w</td><td>n</td></tr>
    <tr><td>x</td><td>n</td></tr>
    <tr><td>y</td><td>n</td></tr>
    <tr><td>z</td><td>n</td></tr>`)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table class="station-device-table4">
        <tr>
            <td>x</td>
            <td>y</td>
            <td>z</td>
        </tr>
        <tr class="rowIWanTtoReplace">
            <td rowspan="11" class="s">foobar</td>
            <td rowspan="7">foobar</td>
            <td>n</td>
        </tr>
    </table>

相关问题