0

変更リンクをクリックしているときにいくつかのテーブル要素を置き換えようとしていますが、実際には置き換えられますが、href属性が正しくありません。何か問題でもありますか?助けてください、ありがとう!

HTML:

<html>
<head>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
    <table id="department_list_table" border=1>           
        <tbody> 
            <tr id = 1>
                <td>department A</td>
                <td align="center"><a href = "#" onclick = "department_action('modify', 1, 'department A')">modify</a></td>
                <td align="center"><a href = "#" onclick = "department_action('delete', 1, 'department A')">delete</a></td>
            </tr>                
            <tr id = 2>
                <td>department B</td>
                <td align="center"><a href = "#" onclick = "department_action('modify', 2, 'department B')">modify</a></td>
                <td align="center"><a href = "#" onclick = "department_action('delete', 2, 'department B')">delete</a></td>
            </tr>                
        </tbody>
    </table>        
</body>

jQuery:

var id = 3;
var name = 'department C';
$("#department_list_table tbody tr#1").replaceWith(
    '<tr id =' + id + '>' +
    '<td>' + name + '</td>' +
    '<td align="center"><a href="#" onclick="department_action("modify",'+ id +',' + name + ')">modify</a></td>' +
    '<td align="center"><a href="#" onclick="department_action("delete",'+ id +',' + name + ')">delete</a></td>' +
    '</tr>');

ファイアバグの結果:

<tr id="3">
<td>department C</td>
<td align="center">
**<a c)"="" modify",3,department="" onclick="department_action(" href="#">modify</a>**
</td>
<td align="center">
**<a c)"="" delete",3,department="" onclick="department_action(" href="#">delete</a>**
</td>
</tr>
4

2 に答える 2

1

一重引用符またはエスケープされた引用符を使用する必要がある場合は、二重引用符を使用しています。

onclick="department_action(\'modify\','+ i ...
于 2011-07-10T17:28:21.307 に答える
0

属性の二重引用符はonclick、html文字列を台無しにしています。解決策はを使用すること\'modify\'ですが、を使用してJavaScriptでイベントハンドラーをアタッチすることを検討する必要があります$().click。これにより、通常、コードがより保守しやすくなります。

于 2011-07-10T17:33:01.523 に答える