黄昏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>