javascript - 我收到 [object object] 但我想在 "value"变量前面添加一个复选标记按钮

标签 javascript jquery html

我正在尝试制作一个列表,并将所有内容都添加到 HTML 中,但现在尝试通过点击按钮来删除它们。我遇到的问题是预先添加按钮。我相信我可以使用此代码片段中未包含的逻辑删除它,但如果您能提供有关如何创建按钮的帮助,我们将不胜感激。

window.onload = function() {
//user clicked on the add button in the to-do field add that text into the to-do text
$('#add-to-do').on('click', function(event) {
    event.preventDefault();
    //assign variable to the value entered into the textbox
    var value = document.getElementById('to-do').value;  
    //test value
    console.log(value);
    //prepend values into the html and add checkmark, checkbox, and line break to make list
    var linebreak = "<br/>";
    var todoclose = $("<button>");

    console.log(todoclose);
    todoclose.attr("data-to-do", toDoCount);
    todoclose.addClass("checkbox");
    todoclose.text("☑");

    $("#to-dos").prepend(todoclose + value + linebreak);


});

下面是 HTML

                <div class ="col-4">
                <!-- To Do List -->
                <form onsubmit= "return false;">
                    <span id = "todo-item" type = "text">
                    <h4>Add your Agenda Here</h4>
                    <input id ="to-do" type = "text">
                    <input id ="add-to-do" value = "Add Item" type = "submit">
                    </span>
                </form>
             <div id="to-dos"></div>
            </div>

最佳答案

错误在这里:

todoclose + value + linebreak

todoclose 是一个对象,value 是一个字符串,linebreak 是一个字符串。这意味着在该代码的第一部分中,您将添加一个带有字符串 (value) 的对象 (todoclose)。

当您将对象添加到字符串时,JavaScript 引擎会调用该对象的 toString 方法,首先将其转换为字符串,然后将结果添加到另一个字符串。大多数对象上的 toString 方法会打印 [object Object] (这不是很有用)。

要修复此问题,您可以一次在前面添加一个(以相反的顺序),而不是使用 + 将它们添加在一起:

$("#to-dos").prepend(linebreak);
$("#to-dos").prepend(value);
$("#to-dos").prepend(todoclose);

关于javascript - 我收到 [object object] 但我想在 "value"变量前面添加一个复选标记按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54000938/

相关文章:

javascript - jQuery 嵌套循环

css - 当我在 firefox 中打开我的网站时,我的字体不工作

javascript - 如何使用更改事件返回 meteor 中选定选项值的 ID?

javascript - 如何在 react 抽屉导航内添加按钮

javascript - 将 stackblur 与 Canvas 一起使用不会模糊我的图像

javascript - Electron :总是返回 ontouchstart = true

jquery - 即使页面可滚动,也将 div 在屏幕上居中

javascript - Onclick 未在对象上触发

javascript - 在本地测试时在 ajax 应用程序中拒绝访问

javascript - 获取按钮类名或仅名称