2012-12-19 2 views
3

Я пытаюсь заменить одну целую строку с помощью JQuery, но, похоже, не работает (строка НЕ ​​заменяется). Вот ссылка на пример кода: http://jsfiddle.net/s2kwb/JQuery/JS: заменить строку в таблице

JavaScript:

$("td.99999").first().parent().next().replaceWith("<tr><td >category 3</td> 
<td >2222</td> 
<td >something 22</td> 
<td >something 22</td> 
<td >$3,433</td> 
<td >$300</td> 
<td >$3,733</td> 
<td >$349</td> 
<td >$4,082</td> 
</tr>");​ 

Html:

<table border="1"> 
<tr > 
    <th>category</th> 
    <th>rank</th> 
    <th>priority</th> 
    <th>contact</th> 
    <th>price</th> 
    <th>tax</th> 
    <th>total price</th> 
    <th>shipping</th> 
    <th>Net payment</th> 
</tr> 
<tr class="displaytagOddRow"> 
    <td class="99999">category 1</td> 
    <td class="99999">99999</td> 
    <td class="99999">something</td> 
    <td class="99999">something</td> 
    <td class="99999 alignRight">$3,433</td> 
    <td class="99999 alignRight">$300</td> 
    <td class="99999 alignRight">$3,733</td> 
    <td class="99999 alignRight">$349</td> 
    <td class="99999 alignRight">$4,082</td> 
</tr> 
<tr class="displaytagOddRow" style="Background-color:Red"> 
    <td class="3333">category 2</td> 
    <td class="3333">3333</td> 
    <td class="3333">something</td> 
    <td class="3333">something</td> 
    <td class="3333 alignRight">$3,433</td> 
    <td class="3333 alignRight">$300</td> 
    <td class="3333 alignRight">$3,733</td> 
    <td class="3333 alignRight">$349</td> 
    <td class="3333 alignRight">$4,082</td> 
</tr> 
</table> 

Что я делаю неправильно?

Заранее спасибо.

ответ

5

Завершить строку для каждой строки. См. Также updated jsFiddle.

$("td.99999").first().parent().next().replaceWith("<tr><td >category 3</td>" + 
    "<td >2222</td>" + 
    "<td >something 22</td>" + 
    "<td >something 22</td>" + 
    "<td >$3,433</td>" + 
    "<td >$300</td>" + 
    "<td >$3,733</td>" + 
    "<td >$349</td>" + 
    "<td >$4,082</td>" + 
    "</tr>");​ 

The Google JavaScript Style Guide рекомендует эту конкатенации и советует многострочные строки с альтернативными перерывами обратной косой линии.

whitespace after the slash will result in tricky errors

+0

** Большое спасибо ** – Patty

2

Исправление ошибок в скрипке и добавление Jquery в качестве ссылки сделала работу:

DEMO

Вашей строка не была собственно строки символов. Консоль в инструменте браузера отладки также указано, что:

SyntaxError: unterminated string literal [Break On This Error]

$("td.99999").first().parent().next().replaceWith("category 3

Fixed сценарий:

$("td.99999").first().parent().next().replaceWith("<tr><td >category 3</td><td >2222</td><td >something 22</td><td >something 22</td><td >$3,433</td><td >$300</td><td >$3,733</td><td >$349</td><td >$4,082</td></tr>"); 
+0

** Это работает too.thank you.Realized, что новая строка была проблема** – Patty

Смежные вопросы