重复元素的onclick事件仅适用于第一行

时间:2017-09-12 08:18:19

标签: javascript php html

下面你将找到我用于从表中提取数据的代码以及我想要重复的图像,最后一个按钮标签中列出的每个表行Class = plusbtn

{

        $event .= '     <div  style="border-bottom:1px solid gray;padding:2px;width:100%;float:left;"><div id="eventslist" onclick="goevent('.$row['id'].');">
                        <div style="width:100%;float:left;">
                            <h4 style="margin:0;"><span id="eventuser" style="width:50%;float:left;text-align:left;font-size:14px;"><img src="https:///login/profile/'.$row['profile_img1'].'" style="width:35px;height:37px;border-radius:20px;margin-left:-4%;background:url(http:///img/person-placeholder.jpg) no-repeat center" class="img-rounded"> <b>'.$row['user'].'</b></span><span style="float:right;text-align:right;font-size:12px;margin-top:9px;margin-right:-25px;">Posted: '.$row['stdate'].'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br/><br/><b><span style="font-size:20px;float:left;">'.$row['fname'].'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></b></h4>
                        </div>
                        <div style="width:109%;float:left;">
                            <img src="http:///login/image/'.$row['name'].'" style="width:100%;height:35%;border-radius:10px;margin-left:-4%;background:url(https:///img/load.gif) no-repeat white" class="img-rounded">
                        </div>
                        <div style="width:100%;float:left;">
                            <p style="margin-bottom:0;">'.substr($row['description'],0,110).'...</p>
                        </div>
                </div><div><button class="plusbtn" onclick="plusrate(\''.$likecount.'\');"><a onclick="document.getElementById(`myImage`).src=`https:///img/fav4.png`"><img id="myImage" src="https:///img/fav3.png" style="opacity: 0.7;height:25px;max-width:100px"></a></button><span id="likeqnty" class="likeqnty">0</span> <b>Likes</b></div></div>   ';
    }

使用此设置,每个条目都会显示按钮图像,但我只能单击页面上第一个条目的按钮。当我在页面上出现按钮(回声“按钮”)时键入回声

如何使按钮重复每个表条目并正常工作从fav4切换到fav3。

1 个答案:

答案 0 :(得分:0)

你的问题在于ID应该是唯一的。但是你的所有图像都有相同的ID。

<a onclick="document.getElementById(`myImage`).src=`https:///img/fav4.png`">
    <img id="myImage" src="https:///img/fav3.png" style="opacity:0.7;height:25px;max-width:100px">
</a>

点击其中任何一个链接将始终更改ID为myImage的第一张图片。

您想要更改onclick javascript以将图片分别定位到当前点击目标。

<a onclick="this.getElementsByTagName(`img`)[0].src=`https:///img/fav4.png`">
    <img id="myImage" src="https:///img/fav3.png" style="opacity:0.7;height:25px;max-width:100px">
</a>

在这段代码中,我们使用它,因为它是接收点击的当前DOM元素。并检索其中的图像,并更改其src值。这可确保目标图像与用户单击的位置相关。