好的,通过一些教程和这个网站,我对 html/javascript/css 很陌生。我试图显示一个按钮,当单击该按钮时,我使用 css 覆盖图像我调用 javascript 函数将一些信息发送到我的服务器,并用新按钮和图像覆盖替换单击的按钮。这是负责此的代码片段(我基本上只是来回切换按钮的可见性):
<style type = 'text/css'>
input.btn_follow {
position: absolute;
right: 2px;
top: 2px;
background-image: url(http://icons.iconarchive.com/icons/icojam/onebit/48/star-100-icon.png); /* 16px x 16px */
}
input.btn_unfollow {
visibility: hidden;
position: absolute;
right: 2px;
top: 2px;
background-image: url(http://gologic.com/imagesOld/checkmark%20-%20small.png);
}
</style>
</head><body>
<script type='text/javascript'>
function follow(series, status) {
var xhReq = new XMLHttpRequest();
var request = "follow.php?series="+series+"&status="+status
xhReq.open("GET", request, false);
xhReq.send(null);
var response = xhReq.responseText;
var IDyes = "follow_"+series
var IDno = "unfollow_"+series
if (response == 1){
document.getElementById(IDyes).style.visibility='hidden'
document.getElementById(IDno).style.visibility='visible'
}
else if (response == 0){
document.getElementById(IDyes).style.visibility='visible'
document.getElementById(IDno).style.visibility='hidden'
}
else if (response == -1){
alert("you must first login to use the follow request"); // now following show
}
}
</script>
所以所有这些都有效,但是对于某些元素 ID,它们在同一个 html 页面上出现多次。如果是这种情况,则只有元素的第一个实例的可见性会发生变化,其余的则不会。如果他们有相同的 id 为什么会这样?我怎样才能解决这个问题?这是在我的网页上查看此操作的链接,以使这一点更清楚http://ec2-54-234-192-222.compute-1.amazonaws.com/home.php(有问题的按钮是星)任何帮助将不胜感激(如果有一种更清洁的方法来刮除我已经开始像意大利面一样的我愿意接受的东西!)谢谢-brendan