私はjqueryに飛び込んでいるところなので、本当にばかげた間違いを許してください...
データベースから生成しているテーブルがあります。
<table id="DataTable">
<tr>
<th><input type="button" onclick=doCheck()></th>
<th>col 2</th>
<th>col 3</th>
<th>col 4</th>
<th>col 5</th>
</tr>
<tr>
<td><input type="checkbox" /></td>
<td>data 2</td>
<td>data 3</td>
<td>data 4</td>
<td class="thisOne">data 5</td>
</tr>
.
.
.
</table>
thisOne
ボックスがチェックされている行にあるかどうかに基づいて、ラベルの付いたcolumn5に対していくつかの検証チェックを実行する必要があります。これが私がこれまでに持っているものです:
//Get checkboxes
var boxes = $("#DataTable").find("tr td input[type=checkbox]");
var locations = [];
boxes.each(function (index, element) {
if ($(element).is(':checked')) {
//Code here
}
});
マークされた領域では、//code here
多くのことを試しましたが、目的の列を正常に選択できませんでした。私が試したいくつかのこと(注:私はHide()
テスト目的で使用しています):
$(this).closest("td").next('.thisOne').hide(); Doesn't work
$(this).parent("td").next('.thisOne').hide(); Doesn't Work
$(this).closest("td").hide(); Works as expected
$(this).closest("td").next().hide(); Works as expected
$('.thisOne').hide(); Works as expected
私がリストした最初の行は機能するべきではありませんか?レベル.closest()
までナビゲートします。そのクラスのタグが見つかるまで、どこでDOMをトラバースしますか?なぜこれが機能しないのか本当に興味があるので、答えを説明してください。ありがとうtd
.next('thisOne')
td