我正在尝试使用JQuery替换整行,但似乎无法正常工作(该行未被替换)。以下是示例代码的链接:http://jsfiddle.net/s2kwb/
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>
我做错了什么?
提前致谢。
答案 0 :(得分: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>");
Google JavaScript Style Guide建议使用此字符串连接,并针对具有备用反斜杠换行符的多行字符串进行建议。
斜杠后的空格会导致棘手的错误
答案 1 :(得分:2)
修复错误并添加jQuery作为参考使其工作:
你的字符串不是正确的字符串文字。浏览器调试工具中的控制台也声明:
SyntaxError:unterminated string literal [Break On This Error]
$( “td.99999”)。第一()。父()。下一个()replaceWith。(“类 3
修正脚本:
$("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>");