0

我有一个表,其中每行包含 2 个图像。单击任一图像时,我需要对行执行操作。但是,当我单击图像时,只有顶行有效。我知道这是因为所有图像都具有我在点击事件中使用的相同 ID 名称,但如果我给它们唯一的 ID,我如何编写一个 onclick 来捕获它们?

jQuery(document).ready(function()
{
    jQuery("#UpClick").click(function()
    {
        alert("AS debug up");
    });
    jQuery("#DownClick").click(function()
    {
        alert("AS debug down");
    });
}); 


<form id="frm" action="AccountList.asp" method="post">
    <table id="sortList" class="pagetext">
        <tr glid="1008298">
            <td>
                <a href="#" id="DownClick"><img src="/images/report_desc2.gif"></a>
                <a href="#" id="UpClick"><img src="/images/report_asc2.gif"></a>
            </td>
            <td>
                <input type="checkbox" name="chkCopy" class="chkCopy" value="1008298">Test account (Accrual)
            </td>
        </tr>
        <tr glid="1008299">
            <td>
                <a href="#" id="DownClick"><img src="/images/report_desc2.gif"></a>
                <a href="#" id="UpClick"><img src="/images/report_asc2.gif"></a>
            </td>
            <td>
                <input type="checkbox" name="chkCopy" class="chkCopy" value="1008298">Test account (Vac)
            </td>
        </tr>
        <tr glid="1008300">
            <td>
                <a href="#" id="DownClick"><img src="/images/report_desc2.gif"></a>
                <a href="#" id="UpClick"><img src="/images/report_asc2.gif"></a>
            </td>
            <td>
                <input type="checkbox" name="chkCopy" class="chkCopy" value="1008298">Test account (PTO)
            </td>
        </tr>
    </table>
</form>
4

3 回答 3

3

那是因为您为多个元素提供了相同的 ID。这是非法的,当你使用jQuery("#UpClick").

为此使用一个类,以便您可以使用绑定

jQuery(".UpClick").click(function() {
    console.log("AS debug up"); // yes, it's much easier to use the console than alert
});
于 2013-05-06T13:15:48.953 回答
1

尝试这个:

HTML

<a href="#" class="DownClick">....
<a href="#" class="UpClick">....

脚本

jQuery(document).ready(function()
{
    jQuery(".UpClick").click(function(e)
    {
        e.preventDefault();
        alert("AS debug up");
    });
    jQuery(".DownClick").click(function(e)
    {
        e.preventDefault();
        alert("AS debug down");
    });
}); 
于 2013-05-06T13:23:32.877 回答
0

不要为图像使用 ID,而是为它们分配一个类。

<a href="#" class="DownClick">

您可以根据它们的类找到元素:$(".DownClick")

于 2013-05-06T13:21:23.953 回答