将无序列表中的多个文本区域转换为LI

Convert multiple Textareas to LI in unordered list

本文关键字:区域 文本 转换 LI 无序 列表      更新时间:2023-09-26

我有一个未知数量的文本区域。为了处理用户输入的数据,我需要将它们的内容转换为列表元素。

使用JavaScript和/或jQuery,我如何转换这个:

<textarea>content 1</textarea>
<textarea>content 2</textarea>
<textarea>content 3</textarea>

:

<ul>
    <li>content 1</li>
    <li>content 2</li>
    <li>content 3</li>
</ul>

我需要将结果UL分配给一个变量,该变量将发送给AJAX服务。

编辑-到目前为止我试过了:

var visibleTextareas = $('textarea:visible');
var listItems = visibleTextareas.replaceWith(function() {
    return $('<li>' + $(this).val() + '</li>');
});
var text = '<ul>' + listItems + '</ul>';
console.log(text);

这导致<ul>[object Object]</ul>被记录到控制台,后端响应它需要一个UL。

试试这样:

var output = '<ul>';
$('textarea').each(function(){
    output += '<li>' + $(this).val() + '</li>';
});
output += '</ul>';

这对你有用吗?

EDIT: .val()在这种情况下更合适

查看.each()上的jQuery API,第二个示例应该会对您有所帮助。