javascript - 为值 =""中的每个单词创建 <div>

标签 javascript jquery

$('input').keyup(function(){
    var value = $(this).val();
    $('#values').html('<div>'+value+'</div>');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text'>
<div>

</div>

在此代码中,我试图让用户在 input 中键入一些词,例如 Hello World, This Is My Home,现在我想要发生的事情是对于每个单词,它会在 parentdiv 中为它创建一个 div, 所以对于我这里的例子,我想要的结果应该是

$('input').keyup(function(){
    var value = $(this).val();
    $('#values').html('<div>'+value+'</div>');
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' value='Hello World, This Is My Home'>
    <div id='values'>
        <div>Hello</div>
        <div>World</div>
        <div>This</div>
        <div>Is</div>
        <div>My</div>
        <div>Home</div>
    </div>

最佳答案

您需要拆分输入值字符串中的单词,然后分别为每个单词附加 div。此外,每次附加单词时,您都可以先清空 div。 split(/[\s,]+/) 将为分隔符空格和逗号拆分字符串。您可以为主容器使用一个 id。 forEach 中回调函数的第二个参数是索引,因此您可以根据需要使用它来附加索引。

$('input').keyup(function(){
    var value = $(this).val();
    var words = value.split(/[\s,]+/);
    $('#maindiv').html("");
    words.forEach((x, index) => $('#maindiv').append('<div>'+x + '-' + (index+1) +'</div>'));
})
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' value='Hello World, This Is My Home'>
    <div id="maindiv">
    </div>

关于javascript - 为值 =""中的每个单词创建 <div>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46282652/

相关文章:

可以在握手请求中传递自定义 header 的 Javascript websocket 客户端库

javascript - 从已知数量的项目中选择随机项目

javascript - 使用 jQuery prop 添加 input 属性在 IE9 中不起作用

javascript - 从 Jquery 中的字符串中删除所有逗号

javascript - jQuery:循环重复切换显示/隐藏多个以数字命名的类

javascript - 添加属性/方法的明确最佳方式

javascript - EXTJS:如何从 JSON 文件加载 Ext.form.panel 项目配置

javascript - NodeJS 错误?执行在要返回的字符串之前有换行符的 return 语句时出错

javascript - 如何向变量字符串添加更多值

javascript - 确认 href 链接