4913 次
3 に答える
5
href
JavaScript コードを属性からクリック イベントに移動してみませんか? jQuery は控えめな JavaScript を書くために作られました。
編集:
いいえ、しかし本当に、目立たない JavaScript を優先して、これらの隠しリンクを削除することを検討してください。Corey の例の書き換えの関連部分は次のとおりです。
JS:
$(document).ready(function() {
$('table td').click(function(event) {
alert($(this).html())
})
})
HTML:
<table border="1">
<tr>
<td>a1</td>
<td>a2</td>
</tr>
<tr>
<td>b1</td>
<td>b2</td>
</tr>
</table>
于 2008-12-29T13:51:35.363 に答える
2
<html>
<head></head>
<body>
<table border=1>
<tr>
<td>a1<a href=# onclick='alert("a1")' /></td>
<td>a2<a href=# onclick='alert("a2")' /></td>
</tr>
<tr>
<td>b1<a href=# onclick='alert("b1")' /></td>
<td>b2<a href=# onclick='alert("b2")' /></td>
</tr>
</table>
<script src="scripts/jquery-1.2.6.min.js" ></script>
<script>
$(function(){
$('table td').click(function(){ $(this).find('a').click()});
})
</script>
</body>
</html>
上記のクリップで問題なく動作しています。ただし、jQuery セレクターの前に # があることを確認してください。これは、テーブルのIDが「table」でない限り失敗します。
そうは言っても、javascriptが埋め込まれたタグを非表示にするよりも、後で行うより良い方法がおそらくあるでしょう。
于 2008-12-29T14:47:26.000 に答える
1
onclick の追加を避けたい場合は、これが回避策になります。
$('#table td').click(function() {
$(this).find('a').each(function(){ window.location = this.href; });
});
于 2008-12-29T15:00:12.900 に答える