事件 onclick 未找到通过获取的元素,并且具有 className.include('') 的 API 无法读取

Event onclick not finding element that was fetched through and API with className.include('') cannot read properties of

提问人:zeebeatz ZeeTheCreator 提问时间:5/10/2023 最后编辑:zeebeatz ZeeTheCreator 更新时间:5/10/2023 访问量:36

问:

嗨,我正在构建一个调查网络应用程序

我正在使用 Fetch('') javascript 从 API 获取数据,现在已注入 vs code 上的实时服务器

我的预期结果是创建一个功能,将点击事件添加到获取数据的反馈列表中,并允许您按 1 点赞,然后禁用它,同时允许您单独展开调查评论的文本框我的 Udemy 老师说使用 if 语句逻辑场景来完成这项工作

问题: javascript 代码行 const upvoteIntention = clickedEl.className.includes('.upvote');

是 null,即使 API 获取的数据已实时注入服务器并且存在

尝试重新加载它

使用 .contain();

将代码放在 fetch('') 调用下,甚至将其 aysc

有很多电线和连接,但有一个被切断了,idk如何修复它,请帮忙,我需要第二个大脑

`//Upvote feature Using Events 

const upVoteClick = (event) => {
    const clickedEl = event.target;

    const upvoteIntention = clickedEl.className.includes('.upvote');

    console.log(upvoteIntention);

    if (upvoteIntention) {
        const upvoteBtnEl = clickedEl.closest('.upvote');

        upvoteBtnEl.disabled = true;

        const upvoteCountEl = upvoteBtnEl.querySelector('.upvote__count');

        // increment 
        let upvoteCount = +upvoteCountEl.textContent;

        upvoteCount = upvoteCount + 1;

        // set upvote count
        upvoteCount.textContent = upvoteCount;



    } else {
        clickedEl.closest('.feedback').classList.toggle('.feedback--expand');
    }

};

feedbackList.addEventListener('click', upVoteClick);






// getting and posting feedback to componet

fetch('https://bytegrad.com/course-assets/js/1/api/feedbacks')
    // converting to json
    .then(response => response.json())
    .then(data => {

        // remove spinner on fetching
        spinnerEl.remove();

        data.feedbacks.forEach(eachItem => {
            renderfeedbackHTML(eachItem)
        });
    })
    .catch(error => {
        feedbackList.textContent = `Failed to load data: ${error.message}`;
        // customize error with html css connected element stored in js varible 
    });`
javascript html css 提取

评论

0赞 Andy 5/10/2023
'.upvote__count'可以,因为他们需要 CSS 查询。对于,您只想查找类的名称:或querySelectorclosestclassNameclassListclassName.includes('upvote')classList.toggle('feedback--expand')
1赞 zeebeatz ZeeTheCreator 5/10/2023
@Andy该死的兄弟,情商是关键,我什至无法认真思考,我为它不起作用而生气,如果我只是查找班级名称并列出示例,请欣赏您的时间兄弟

答: 暂无答案