如何根据卡片的选择在javascript中推送和弹出细节到数组中?

如何根据卡片的选择在javascript中推送和弹出细节到数组中?,javascript,django-templates,Javascript,Django Templates,我有6个引导卡在我的网页上,每一张卡都包含像id和内容这样的细节。当我单击该卡时,该卡的详细信息应推入阵列,当我单击同一张卡时,详细信息应从阵列中弹出。 django中的我的html页面: {目标%%中j的百分比} {{j.goal} {%endfor%} 我的js代码是 var goal = [] function getGoal(id ,content){ if (goal !== []) { for(var i=0; i<goal.length; i++

我有6个引导卡在我的网页上,每一张卡都包含像id和内容这样的细节。当我单击该卡时,该卡的详细信息应推入阵列,当我单击同一张卡时,详细信息应从阵列中弹出。 django中的我的html页面:


{目标%%中j的百分比}

{{j.goal}

{%endfor%}
我的js代码是

var goal = []
function getGoal(id ,content){
    if (goal !== []) {
        for(var i=0; i<goal.length; i++){
            if(goal[i].id == id) {
                var index = goal.indexOf(goal[i])
                if (index !== -1) {
                    goal.splice(index, 1);  
                }
            }
        }
    }else {
        var data = {id: id, content: $("#cont_"+id).text()}
        var x = JSON.stringify(data)
        goal.push(x)
        console.log(goal)
    } 
}
var storedNames = JSON.parse(localStorage.getItem("goal"))
var目标=[]
函数getGoal(id、内容){
如果(目标!=[]){

对于(var i=0;i,正如您在添加缩进后所看到的,html代码无效。在哪里关闭中心标记?在哪里/如何调用getGoal?如果不使用它,为什么有content参数

var goal = []
function getGoal(id ){
  if (goal.length > 0) {
    let index = goal.findIndex(x=>x.id == id)
    if(index != -1){
        goal.splice(index, 1);  
    }
    else{
            var data = {id: id, content: $("#cont_"+id).text()}
            goal.push(data)
   }

   }else {
        var data = {id: id, content: $("#cont_"+id).text()}
        //var x = JSON.stringify(data)
        goal.push(data)
        console.log(goal)
    } 
  }
  var storedNames = JSON.parse(localStorage.getItem("goal"))

试试看

我正在将卡的详细信息放入数组中代码没有错@Ip177,但是当再次选择同一张卡时,详细信息应该会弹出这就是问题所在我使用了content参数来获取卡的内容,因为卡的详细信息有id和内容代码无效如果不关闭中心标记,则所有下一个标记都是无效的在这种情况下,对于大多数浏览器,都将其视为第一个中心的子中心,因为它们会在文档末尾自动关闭所有未关闭的中心found@Ip177是的,我关闭了中心标记,但也不工作。它不工作。只有第一张卡的详细信息进入阵列,甚至单击其他卡的详细信息也不进入阵列。目标阵列应该像这样的目标=[{id:1,content:“amit”},{id:2,content:“sinha”}]是的,我已经检查并尝试了,即使只有第一张卡片的细节进入了数组,你能提供一个带有反馈数组的工作示例吗?当你调用getGoal方法时,检查一下使用console.log(id)在getGoal中得到了什么id
var goal = []
function getGoal(id ){
  if (goal.length > 0) {
    let index = goal.findIndex(x=>x.id == id)
    if(index != -1){
        goal.splice(index, 1);  
    }
    else{
            var data = {id: id, content: $("#cont_"+id).text()}
            goal.push(data)
   }

   }else {
        var data = {id: id, content: $("#cont_"+id).text()}
        //var x = JSON.stringify(data)
        goal.push(data)
        console.log(goal)
    } 
  }
  var storedNames = JSON.parse(localStorage.getItem("goal"))