Javascript 事件侦听器单击。不符合我的需要。需要一些建议吗

Javascript 事件侦听器单击。不符合我的需要。需要一些建议吗,javascript,addeventlistener,Javascript,Addeventlistener,所以基本上我需要在每次点击一个特定的按钮时清理桌面。 我有4个不同的按钮,它们按不同的参数过滤。 1.按性别分列 2.按年龄划分 3.按职务等分类。 例如,如果我按性别过滤,它会清除tableBody并生成一个新的tableBody,然后单击另一个按钮,它也会这样做。但是如果我想按同一个参数过滤两次,例如按性别,1。性别是男性 2.性别是女性。 第二次,当我点击按钮时,它并没有清理桌面,只是添加到现有的桌面上 这是我的代码,如果你有任何建议或知道问题是什么,请告诉我 genderFilter.

所以基本上我需要在每次点击一个特定的按钮时清理桌面。 我有4个不同的按钮,它们按不同的参数过滤。 1.按性别分列 2.按年龄划分 3.按职务等分类。 例如,如果我按性别过滤,它会清除tableBody并生成一个新的tableBody,然后单击另一个按钮,它也会这样做。但是如果我想按同一个参数过滤两次,例如按性别,1。性别是男性 2.性别是女性。 第二次,当我点击按钮时,它并没有清理桌面,只是添加到现有的桌面上

这是我的代码,如果你有任何建议或知道问题是什么,请告诉我


genderFilter.addEventListener('click', function () {
    tableBody.innerHTML = ''
    for (let i = 0; i < personalInfoArr.length; i++) {
        if (personalInfoArr[i].gender === filterWord.value) {
            tmpPersonalInfoArr.push(personalInfoArr[i])
        }
    }
    for (let j = 0; j < tmpPersonalInfoArr.length; j++) {
        tableBody.innerHTML += generatePersonsHTML(tmpPersonalInfoArr[j]);
    }
})

genderFilter.addEventListener('click',函数(){
tableBody.innerHTML=“”
for(设i=0;i
您可能必须清除数组
tmpPersonalInfoArr
,该数组会不断在每个klick上推送结果。您当前重置了
innerHTML
,但
tmpPersonalInfoArr
从未重置。