JavaScript 点击功能 table 单元格仅应用于第一行
JavaScript click function table cell only applied on the first row
我在 table 行上有一个 JavaScript 点击功能,但是当我点击它时,该功能只在第一行有效。我该如何解决这个问题?
<script type="text/javascript">
$(document).ready(function(){
$('#detpanel').hide();
$("#showdet").click(function(){
$('#detpanel').slideDown(500);
});
$("#hidedet").click(function(){
$('#detpanel').slideUp(500);
});
$('#showdet').hover(function(){
$(this).divhover("background-color", "yellow");
});
});
</script>
<tbody>
<?php $i = 0; ?>
@foreach ($auser as $res)
<?php $i += 1; ?>
<tr @if($i%2==0) class="bgcolor dihover" @endif id='showdet' class="dihover">
<td>{{ $res->id }}</td>
<td>{{ $res->name }}</td>
<td>{{ $res->email }}</td>
<td>
<a class="default-btn" href="/pms/admin/user/edit/{{ $res->id }}">Edit</a> |
<a type="submit" class="default-btn del" data-id="admin-user" href="pms/admin/user/delete/{{ $res->id }}">Delete</a>
</td>
</tr>
@endforeach
</tbody>
元素的 ID 必须是唯一的,因为您是在循环中使用 class.
创建元素
当使用 ID 选择器时,它将 return 仅第一个具有所述 ID 的元素,因此在您的情况下,点击处理程序仅注册到第一个元素
<tbody>
<?php $i = 0; ?>
@foreach ($auser as $res)
<?php $i += 1; ?>
<tr @if($i%2==0) class="bgcolor dihover" @endif class='showdet' class="dihover">
<td>{{ $res->id }}</td>
<td>{{ $res->name }}</td>
<td>{{ $res->email }}</td>
<td>
<a class="default-btn" href="/pms/admin/user/edit/{{ $res->id }}">Edit</a> |
<a type="submit" class="default-btn del" data-id="admin-user" href="pms/admin/user/delete/{{ $res->id }}">Delete</a>
</td>
</tr>
@endforeach
</tbody>
然后使用class选择器注册点击处理程序
$(document).ready(function () {
$('#detpanel').hide();
$(".showdet").click(function () { //use class selector here
$('#detpanel').slideDown(500);
});
$("#hidedet").click(function () {
$('#detpanel').slideUp(500);
});
$('#showdet').hover(function () {
$(this).divhover("background-color", "yellow");
});
});
我在 table 行上有一个 JavaScript 点击功能,但是当我点击它时,该功能只在第一行有效。我该如何解决这个问题?
<script type="text/javascript">
$(document).ready(function(){
$('#detpanel').hide();
$("#showdet").click(function(){
$('#detpanel').slideDown(500);
});
$("#hidedet").click(function(){
$('#detpanel').slideUp(500);
});
$('#showdet').hover(function(){
$(this).divhover("background-color", "yellow");
});
});
</script>
<tbody>
<?php $i = 0; ?>
@foreach ($auser as $res)
<?php $i += 1; ?>
<tr @if($i%2==0) class="bgcolor dihover" @endif id='showdet' class="dihover">
<td>{{ $res->id }}</td>
<td>{{ $res->name }}</td>
<td>{{ $res->email }}</td>
<td>
<a class="default-btn" href="/pms/admin/user/edit/{{ $res->id }}">Edit</a> |
<a type="submit" class="default-btn del" data-id="admin-user" href="pms/admin/user/delete/{{ $res->id }}">Delete</a>
</td>
</tr>
@endforeach
</tbody>
元素的 ID 必须是唯一的,因为您是在循环中使用 class.
创建元素当使用 ID 选择器时,它将 return 仅第一个具有所述 ID 的元素,因此在您的情况下,点击处理程序仅注册到第一个元素
<tbody>
<?php $i = 0; ?>
@foreach ($auser as $res)
<?php $i += 1; ?>
<tr @if($i%2==0) class="bgcolor dihover" @endif class='showdet' class="dihover">
<td>{{ $res->id }}</td>
<td>{{ $res->name }}</td>
<td>{{ $res->email }}</td>
<td>
<a class="default-btn" href="/pms/admin/user/edit/{{ $res->id }}">Edit</a> |
<a type="submit" class="default-btn del" data-id="admin-user" href="pms/admin/user/delete/{{ $res->id }}">Delete</a>
</td>
</tr>
@endforeach
</tbody>
然后使用class选择器注册点击处理程序
$(document).ready(function () {
$('#detpanel').hide();
$(".showdet").click(function () { //use class selector here
$('#detpanel').slideDown(500);
});
$("#hidedet").click(function () {
$('#detpanel').slideUp(500);
});
$('#showdet').hover(function () {
$(this).divhover("background-color", "yellow");
});
});