使用 Ajax 更新 href ID

Update a href ID using Ajax

本文关键字:ID href 更新 Ajax 使用      更新时间:2023-09-26

在页面上,我在小型音频播放器中播放歌曲,歌曲每 1-2 分钟或我希望它们更改一次(如收音机)。每首歌曲都可以由用户以这种方式投票:

<span class='up'><a href="" class="vote" id="<?php echo $mes_id; ?>" name="up"><img src="up.png" alt="Down" /></a></span><br />

对于赞成按钮,<div class="totalvotes"></div>用于总票数和

<span class='down'><a href="" class="vote" id="<?php echo $mes_id; ?>" name="down"><img src="down.png" alt="Down" /></a></span>

对于反对按钮。

一切正常,但是当我单击其中一个按钮进行投票时,页面显然会刷新。来自 a 元素的id="<?php echo $mes_id; ?>"是我需要每 1-2 秒更新一次的内容,因为它获取当前正在播放的歌曲的 id。

对于总票数,解决方案使用:

function refresh_div() {
        jQuery.ajax({
            url:'totalvotes.php',
            type:'POST',
            success:function(totalvotes) {
                jQuery(".totalvotes").html(totalvotes);
            }
        });
    }

    t = setInterval(refresh_div,1000);

这很容易,因为我创建了一个带有类的div 并在函数中指定了该类。但是我没有想法,如何指定每秒更新的"a"的ID。

您可以使用 jQuery 的.attr()来更改 HTML 元素上的任何属性。

function updateLink() {
    // get id of current song.
    // newValue is that id. 
    $("a").attr('id',newValue);
}
setInterval(updateLink,1000);

我宁愿将该链接放在div 中并使用 ajax 使用新链接更新该div

获取使用 Ajax 播放歌曲的 ID只需在页面加载中全局获取对锚元素的引用

var anchor = $("#<?php echo $mes_id; ?>");

并设置

$(anchor).attr("id", idReturnedFromAjaxCall);
$(anchor).attr("href", theUrlIBuilded);