3

JQueryを使用して1つの行全体を置き換えようとしていますが、機能していないようです(行は置き換えられていません)。サンプルコードへのリンクは次のとおりです。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>

私は何が間違っているのですか?

前もって感謝します。

4

2 に答える 2

5

行ごとに文字列を終了します。更新された 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 スタイル ガイドでは、この文字列連結を推奨しており、代替のバックスラッシュ改行を使用して複数行の文字列を作成しないようにアドバイスしています。

スラッシュの後の空白はトリッキーなエラーになります

于 2012-12-19T17:25:06.620 に答える
2

フィドルのエラーを修正し、参照として jQuery を追加すると、機能しました。

デモ

あなたの文字列は適切な文字列リテラルではありませんでした。ブラウザ デバッグ ツールのコンソールにも、次のように記載されています。

SyntaxError: 終了していない文字列リテラル [このエラーでブレーク]

$("td.99999").first().parent().next().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>");
于 2012-12-19T17:32:41.747 に答える