我有以下代码可插入元素:
$('form').append('<input type="hidden" name="admin" value="true">')
但是多次运行会添加多个元素。
仅在不存在时添加的简洁方式是什么?
答案 0 :(得分:1)
您可以在函数内使用三元运算符:
$('form').append(($('form input[name=admin]').length > 0) ? '' : '<input type="hidden" name="admin" value="true">');
在这里,如果<input name='admin'>
大于0,它将不添加任何形式。
这是一个难看的代码,但它可以工作。
答案 1 :(得分:0)
您可以执行以下操作。删除(如果存在),然后添加
var parentForm = $('form');
parentForm.find("input[name=admin]").remove();
parentForm.append('<input type="hidden" name="admin" value="true">')
要仅在缺少元素的情况下添加元素,您可以使用类似的
var parentForm = $('form');
var inputAdmin = parentForm.find("input[name=admin]");
if(inputAdmin.length==0)
parentForm.append('<input type="hidden" name="admin" value="true">')