黄昏onclick javascript
我的代码有问题黄昏onclick javascript,javascript,jquery,html,Javascript,Jquery,Html,我的代码有问题 <tr> <td id="<?php echo; $id ?>" onclick="addrow(?php echo $id; ?>)">...</td> </tr> <tr id="<?php echo $id; ?>" class="ndisplay">...</tr> <tr id="<?php echo $id; ?>" class="ndisp
<tr>
<td id="<?php echo; $id ?>" onclick="addrow(?php echo $id; ?>)">...</td>
</tr>
<tr id="<?php echo $id; ?>" class="ndisplay">...</tr>
<tr id="<?php echo $id; ?>" class="ndisplay">...</tr>
<tr id="<?php echo $id; ?>" class="ndisplay">...</tr>
JS:
这是工作,但只是第一次。。。
问题是$id对于每个tr都是相同的值,但是我不得不对每个tr使用相同的id
我用tr之间的div进行了测试,但它不起作用。强制对所有tr元素使用相同ID的人说,他/她购买了一本html和js入门书,换句话说,它在html规范中无效,你必须使用相同的类,而不是相同的ID,:试试这个,应该可以修改
<tr id="1" onClick="addrow()" class="ndisplay">...</tr>
<tr id="2" class="ndisplay">...</tr>
<tr id="3" class="ndisplay">...</tr>
<tr id="4" class="ndisplay">...</tr>
<style type="text/css">
.ndisplay {
display:none;
}
</style>
<script>
function addrow(e) {
var div = e.target;
if(div.hasClass("ndisplay")) {
div.removeClass("ndisplay");
}
else {
div.addClass("ndisplay");
}
}
</script>
至少,$id1、$id2、$id3、$id4是不同的:
<tr>
<td id="<?php echo; $id1 ?>" onclick="addrow(?php echo $id1; ?>)">...</td>
</tr>
<tr id="<?php echo $id2; ?>" class="ndisplay">...</tr>
<tr id="<?php echo $id3; ?>" class="ndisplay">...</tr>
<tr id="<?php echo $id4; ?>" class="ndisplay">...</tr>
id必须是唯一的。为什么强制使用相同的id?这甚至不是有效的HTML。id属性应该是唯一的。不管使用重复id值的奇怪必要性,它们仍然是无效的,围绕它们编写脚本是行不通的。getElementById将始终返回第一个,并且只返回第一个。也许您可以为它们提供相同的类,而不是相同的id。这是HTML中的常见做法。您试图用代码实现什么?向表中添加行?切勿为多个元素提供相同的id
<tr id="1" onClick="addrow()" class="ndisplay">...</tr>
<tr id="2" class="ndisplay">...</tr>
<tr id="3" class="ndisplay">...</tr>
<tr id="4" class="ndisplay">...</tr>
<style type="text/css">
.ndisplay {
display:none;
}
</style>
<script>
function addrow(e) {
var div = e.target;
if(div.hasClass("ndisplay")) {
div.removeClass("ndisplay");
}
else {
div.addClass("ndisplay");
}
}
</script>
<tr>
<td id="<?php echo; $id1 ?>" onclick="addrow(?php echo $id1; ?>)">...</td>
</tr>
<tr id="<?php echo $id2; ?>" class="ndisplay">...</tr>
<tr id="<?php echo $id3; ?>" class="ndisplay">...</tr>
<tr id="<?php echo $id4; ?>" class="ndisplay">...</tr>