larsw
问问题
4913 次
3 回答
5
为什么不将 JavaScript 代码从href
属性中移出并移到 click 事件中呢?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为“表”,否则它将失败。
话虽如此,可能有比隐藏嵌入了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 回答