猫鼬对象 ID 不作为函数中的参数工作

Mongoose ObjectID not working as parameter in a function?

本文关键字:参数 工作 函数 不作为 对象 ID      更新时间:2023-09-26

我正在尝试将猫鼬ObjectID传递给onclick()中的函数 这是我的代码(为便于阅读而缩短):

<a onclick="Like({{_id}}, {{likes}}, {{dislikes}});" class="btn btn-like"></a>
<p id="{{_id}}"> {{likes}} likes </p>
<script>
    function Like(id, likes, dislikes){
     alert("This function worked! Likes: " + likes);
     document.getElementById(id).innerHTML = likes + 1
    }
</script>

这不能按预期工作。当我单击"喜欢"按钮时,没有任何反应。我确实检查了按钮的页面元素,它显示为onclick="Like(56ce7a3161714811003ae5f7, 1, 0);".这是应该显示的。

作为旁注,如果我将{{id}}替换为 100 之类的数字或任何数字,该函数确实会正确运行并发出警报。所以我的问题变成了,你不允许在函数参数中有数字吗?还是有参数长度限制?感谢您的任何帮助!

你需要编辑: <a onclick="Like('{{_id}}', {{likes}}, {{dislikes}});" class="btn btn-like"></a> 因为_id是字符串,所以Like(56e7df....) Like("56e7df...")是不同的。使用Like(56e7df...),浏览器将56e7df编译为变量而不是ID字符串