jQuery 生成唯一的 ID

2022-08-30 23:51:15

以下是我所拥有的:

<a href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a>

它是一个PHP数组,其中包含一些链接。我需要在每个链接的末尾添加一个额外的哈希参数。#nav-link

以下是我尝试的方法:

<a id="likeLink" href=""><?=$arItem["TEXT"]?></a>
<script>
    $(document).ready(function () {
        $("#likeLink").attr("href", <?=$arItem["LINK"]?> + "#nav-link");
    });
</script>

但是这段代码不起作用,因为jQuery不知道我链接到哪些链接。所以我想我需要生成唯一的,但不知道该怎么做。ids


答案 1

我不需要一个永远唯一/随机的id,只需要每个页面唯一的东西,所有这些解决方案对我来说似乎都太过分了,所以我想出了这个:

const uniqId = (() => {
    let i = 0;
    return () => {
        return i++;
    }
})();

// usage:
uniqId(); // 0
uniqId(); // 1
uniqId(); // 2
// ...

答案 2

要生成随机ID,您可以使用这个。

<script type="text/javascript">
function Generator() {};

Generator.prototype.rand =  Math.floor(Math.random() * 26) + Date.now();

Generator.prototype.getId = function() {
   return this.rand++;
};
var idGen =new Generator();
</script>
</html>
<body>
<!-- Place this in the body of the page content -->

   <button onclick="console.log(idGen.getId())">click</button>

</body>