javascript - 在每个文本字段后插入文本区域

标签 javascript jquery

下面是html

<input type="text" id="textbox1" />
<input type="text" id="textbox2" />
<input type="text" id="textbox3" />
<input type="text" id="textbox4" />
<a href="#" id="change">Change</a>
<a href="#" id="change1">Change1</a>

我们在下面的代码

var textbox = $("input[type='text']");
var textarea = $("<textarea id='textarea' rows='10' cols='35'></textarea>");
$("#change").click(function () {

    $("input[type='text']").each(function( index ) {
      $(this).hide();
      $(textarea).insertAfter(this);
    });
});

$("#change1").click(function () {

    $('textarea').remove();
    $("input[type='text']").show();

});

最佳答案

您不需要使用 $()纯 HTML 选择器,如 <textarea id='textarea' rows='10' cols='35'></textarea>还有 insertAfter 的错误用法,在你的情况下最好使用 .after 。这是jsFiddle与解决方案。

var textbox = $("input[type='text']");
var textarea = "<textarea id='textarea' rows='10' cols='35'></textarea>";
$("#change").click(function () {

    $("input[type='text']").each(function( index ) {
    $(this).after(textarea);
      $(this).hide();
      
    });
});

$("#change1").click(function () {

    $('textarea').remove();
    $("input[type='text']").show();

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" id="textbox" />
<input type="text" id="textbox" />
<input type="text" id="textbox" />
<input type="text" id="textbox" />
<a href="#" id="change">Change</a>
<a href="#" id="change1">Change1</a>

关于javascript - 在每个文本字段后插入文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34940301/

相关文章:

javascript - 将 updater 方法置于状态中还是直接传递到上下文?

javascript - 将 AngularJS $filter 与 ng-disabled 一起使用

javascript - NodeJS Redis - 在后台重新连接

javascript - 当返回表达式的最后一部分时

jquery - 尝试在 easySlider 轮播中显示所有图像的替代文本

javascript - 如何将一个数组的信息分割并发送到另一个数组?

javascript - 无法读取表单中未定义错误的属性 'value'

javascript - Next.js动态路由错误: The provided path `page-name` does not match the page: `/[slug]`

javascript - 变量未发布在 keyup 上

javascript - 提供 setInterval 的 ID 并通过 ID 清除