javascript - 动态添加到列表后如何更改文本(编辑其内容或类)

标签 javascript jquery html

我有一个页面,用户可以在其中列出一个列表。他们通过将字符串输入到输入框中然后单击按钮将该字符串添加为列表项来完成此操作。当我点击一个列表项时,如何更改这些列表项的类以在文本中划一行?或编辑列表项的内容?

我也尝试了 $('li').toggleClass("finishedItem") 而不是 'p' 并且没有改变我不确定我做错了什么任何帮助都非常感谢。

$(document).ready(function () {
 addText();
 $('p').onclick = markComplete();
});
const $addBtn = $("#add");
const $newItemList = $('ul');
const $inputBox = $('input');

const addText = function () {
$addBtn.on("click", function () {
    addLI();
});
};
const addLI = function () {
if($inputBox.val()!=="")
{
    $newItemList.append("<li>" +"<p>"+ $inputBox.val() +"</p>" + " 
</li>");
}

};
const markComplete = function(){

$('p').toggleClass("finishedItem")

};

最佳答案

$(document).ready(function () {
 addText();

});
const $addBtn = $("#add");
const $newItemList = $('ul');
const $inputBox = $('input');

const addText = function () {
$addBtn.on("click", function () {
    addLI();
});
};
const addLI = function () {
if($inputBox.val()!=="")
{
    $newItemList.append("<li>" +"<p onclick=\"$(this).attr('class', 'finishedItem');\">"+ $inputBox.val() +"</p>" + " 
</li>");
}

};

关于javascript - 动态添加到列表后如何更改文本(编辑其内容或类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56783763/

相关文章:

javascript - 使用 javascript 或 jquery 在一页上打印一行

javascript - 如何确定列表中的位置以插入 div

html - 处理 Internet Explorer 兼容模式时并排 Div

javascript - 在 AngularJS 中的多个项目之间共享代码

javascript - 重叠项目上的单击功能

javascript - 有没有类似于 CoffeeScript 或 JavaScript 的 ActiveModel 的东西?

javascript - d3.js 在鼠标悬停时更改折线图点的颜色和大小

javascript - Ctrl 选择多个项目并通过表单发布访问

javascript - 如何将所有 div 相互交换

html - 如何扩展一个 div 元素的宽度而不是整个页面的宽度