Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 追加后隐藏输入(追加后)_Javascript_Jquery - Fatal编程技术网

Javascript 追加后隐藏输入(追加后)

Javascript 追加后隐藏输入(追加后),javascript,jquery,Javascript,Jquery,我正在尝试使用按钮创建输入字段。但我想要的是,当创建输入字段时,我想要用相同的按钮隐藏创建的输入字段。我尝试了slideToggle功能,但效果不太好 <button type="button" id="addEmail" "class1"></button> $('#addEmail').one('click', function () { var dummy = '<input type="text">'; $('.email').aft

我正在尝试使用按钮创建输入字段。但我想要的是,当创建输入字段时,我想要用相同的按钮隐藏创建的输入字段。我尝试了
slideToggle
功能,但效果不太好

<button type="button" id="addEmail" "class1"></button>

$('#addEmail').one('click', function () {
    var dummy = '<input type="text">';
    $('.email').after(dummy); //creating input after class 'email'
    $(this).addClass('less-inputs'); //Changing buttons css
});

$('#addEmail')。一('单击',函数(){
虚拟变量=“”;
$('.email').after(dummy);//在类'email'之后创建输入
$(this).addClass('less-inputs');//更改按钮css
});

最简洁的方法是创建jQuery上下文来表示
元素,而不仅仅是HTML字符串

比如:

var $dummy = $('<input type="text">');
$('.email').after($dummy);
$dummy.addClass('less-inputs');
var$dummy=$('');
$('.email')。在($dummy)之后;
$dummy.addClass('less-inputs');
甚至更短:

$('<input type="text">')
     .addClass('less-inputs')
     .insertAfter($('.email'));
$(“”)
.addClass('less-inputs')
.insertAfter($('.email'));

您可以在HTML中添加输入,只需单击按钮即可显示/隐藏输入


如果您想动态地创建它,您可以向输入添加一个ID来检查它的存在。如果输入存在,则删除它,否则添加它。

它正在工作。。我不想隐藏按钮,我想用相同的按钮隐藏输入字段。我的拼写错误,对不起。是的,然后我误解了你的问题。为什么不建议
var$dummy=$('')
,但是使用Jquery?@ArupRakshit添加它,我认为至少有4种可能的方法可以将
类添加到待附加元素中。我选择了
addClass()
,因为我想证明方法链接仍然返回原始上下文。嗯,对。但我想确定自己的想法/方法是否正确