Грр, я только что закончил вводить свой ответ на этот вопрос, прежде чем он был удален. Ты тоже собираешься удалить это?
Я создал образец файла для проверки вашего сценария, и он работал как я ожидал. Я включил его ниже для вашей справки. При этом я предлагаю удалить любой код, не относящийся к конкретной функциональности, которую вы пытаетесь отработать во время теста, чтобы убедиться, что с другим кодом нет проблем с периферией. Кроме того, обязательно сделайте view> source, чтобы убедиться, что ваша таблица действительно имеет этот ID, и что ваши флажки и HTML правильно и корректно отображаются. Если вы нарушили HTML, ваш jQuery не будет работать.
Вот пример файла, который я использовал. В каком браузере вы тестируете?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Untitled</title>
<script type="text/javascript" src="shared-scripts/jquery-1.2.4b.js"></script>
<style type="text/css">
.highlight {
background-color: yellow;
}
</style>
<script type="text/javascript">
<!--
$(document).ready(function(){
$("#Table input").click(function() {
if ($(this).attr("checked") == true) {
$(this).parent().parent().addClass("highlight");
} else {
$(this).parent().parent().removeClass("highlight");
}
});
});
//-->
</script>
</head>
<body>
<form name="f">
<table id="Table" border="1"><tr>
<td><input type="checkbox" name="cb1" id="cb1" value="y" /></td>
<td>Click me</td>
</tr><tr>
<td><input type="checkbox" name="cb2" id="cb2" value="y" /></td>
<td>Click me</td>
</tr><tr>
<td><input type="checkbox" name="cb3" id="cb3" value="y" /></td>
<td>Click me</td>
</tr></table>
</form>
</body>
</html>