【问题标题】:Mongoose ObjectID not working as argument in functionMongoose ObjectID 不能作为函数中的参数
【发布时间】:2016-06-08 11:31:11
【问题描述】:

我正在尝试使用 div 的 ID 编辑 divinnerHTML。我有一堆divs,因为我的网站是一个社交网络,所以有很多帖子,每个帖子都有自己的div。这是我的代码:

<a onclick="Like({{id}}, {{likes}}, {{dislikes}});" class="btn btn-like"><span class="glyphicon glyphicon-thumbs-up" aria-hidden="true"></span></a>
    <p id="{{id}}">{{likes}} likes | {{dislikes}} dislikes</p>

   <script>
    function Like(id, likes, dislikes){
     alert(likes);
     document.getElementById(id).innerHTML = likes + 1 + " likes | " + dislikes + " dislikes"
    }
   </script>

基本上上面的代码应该在我点击&lt;a&gt;链接时将帖子的ID、喜欢和不喜欢传递给Like()函数。从那里,我使用传递的id 找到具有相同id 的文档并编辑它的innerHTML 以将1 添加到它的likes。 (我这样做是出于自己的原因)。但是当我点击&lt;a&gt; 链接时,什么也没有发生,没有警报。我检查了元素,&lt;a&gt; 链接显示为onclick="Like(56ce7a3161714811003ae5f7, 1, 0);",这是正确的。

但是,如果我使用 onclick="Like(100, likes, dislikes);" 调用该函数进行测试,它会正常工作并提醒喜欢的数量。 {{id}} 是不是太长了?还是因为id中有字母有问题?我不知道从这里做什么。我只想在传递{{id}} 的帖子时能够调用Like 函数。任何帮助表示赞赏!

【问题讨论】:

    标签: javascript html node.js mongodb


    【解决方案1】:

    您需要在 objectid 周围添加单引号,例如'56ce7a3161714811003ae5f7''{{id}}'

    function Like(id, likes, dislikes) {
      alert(id + ','+likes+ ',' + dislikes);
      document.getElementById(id).innerHTML = likes + 1 + " likes | " + dislikes + " dislikes"
    }
    &lt;a onclick="likes=1;dislikes=5;Like('56ce7a3161714811003ae5f7', likes, dislikes);" class="btn btn-like"&gt;&lt;span class="glyphicon glyphicon-thumbs-up" aria-hidden="true"&gt;Click this&lt;/span&gt;&lt;/a&gt;

    【讨论】:

      猜你喜欢
      • 2021-03-03
      • 2018-05-20
      • 1970-01-01
      • 2015-05-02
      • 2018-08-16
      • 2016-06-13
      • 2021-08-25
      • 2017-11-22
      • 2021-05-06
      相关资源
      最近更新 更多