2016-02-25 89 views
0

我正在嘗試使用div的編號編輯divinnerHTML。我有一堆div s,因爲我的網站是一個社交網絡,所以有很多帖子,每個帖子都有自己的div。這是我的代碼:Mongoose ObjectID在函數中不起作用

<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> 

基本上上面的代碼通過這篇文章的ID,喜歡,和不喜歡的Like()功能,當我點擊鏈接<a>。從那裏,我使用通過的id找到具有相同的id的文檔,並編輯它的innerHTML以將其添加到likes。 (我出於我自己的理由這樣做)。但是當我點擊<a>鏈接時,沒有任何反應,沒有任何警報。我檢查了元素,並且<a>鏈接顯示爲onclick="Like(56ce7a3161714811003ae5f7, 1, 0);",這是正確的。

但是,如果我打電話與onclick="Like(100, likes, dislikes);"功能進行測試,它會正常工作,並提醒喜歡的數量。 {{id}}太長了嗎?或者是否有問題,因爲ID中有字母?我不知道從這裏做什麼。我只想在通過{{id}}後可以調用Like函數。任何幫助表示讚賞!

回答

1

你需要在你的objectid周圍添加單引號。 '56ce7a3161714811003ae5f7''{{id}}'

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