Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.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 jquery删除而不是删除_Javascript_Jquery_Html_Forms - Fatal编程技术网

Javascript jquery删除而不是删除

Javascript jquery删除而不是删除,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我有一张表格: <form id="imageinputpopup" class=suggestionsubmit style="display: none"> <span>Add a thing!</span><br/> <label>url: </label><input name="imageurl" type="url"><br/> <label>file:

我有一张表格:

<form id="imageinputpopup" class=suggestionsubmit style="display: none">
    <span>Add a thing!</span><br/>
    <label>url: </label><input name="imageurl" type="url"><br/>
    <label>file: </label><input name="imagefile" type="file"><br/>
    <input type='hidden' name='schoolid' class="schoolid">
    <input type="submit" value="Submit">
</form>
删除隐藏的内容,如下所示:

function remove_hidden(element){
    alert($(element).children('.fieldname').length);
    $(element+'.fieldname').remove();
    alert($(element).children('.fieldname').length);
}
function add_fieldname(element, addto){
    var elementname = document.createElement('input');
    elementname.type = 'hidden';
    elementname.name = 'fieldname';
    elementname.value = element.attr('fieldname').replace(' ', '_');
    $(elementname).addClass('fieldname');
    addto.append(elementname);
}
和add_fieldname如下所示:

function remove_hidden(element){
    alert($(element).children('.fieldname').length);
    $(element+'.fieldname').remove();
    alert($(element).children('.fieldname').length);
}
function add_fieldname(element, addto){
    var elementname = document.createElement('input');
    elementname.type = 'hidden';
    elementname.name = 'fieldname';
    elementname.value = element.attr('fieldname').replace(' ', '_');
    $(elementname).addClass('fieldname');
    addto.append(elementname);
}
正如我所料,每次单击都会添加如下标记:

<input type="hidden" name="fieldname" value="mascot_image" class="fieldname">

但是移除隐藏并不是移除! 我知道选择器是正确的,因为警报正好是这些输入标记的数量,但它们只是没有被删除。为什么?我还尝试了
$(element+).remove('.fieldname'),这也不起作用。

尝试更换

$(element+'.fieldname').remove();

试着替换

$(element+'.fieldname').remove();


如果我没有弄错这个源代码,一方面,当您使用add_fieldname函数添加一个fieldname时,您得到的输入上没有ID。您可能希望将其设置为易于使用。 另一方面,在remove_hidden函数中,您警告了
元素.fieldname
,但试图删除
元素.fieldname
(注意类名前面缺少空格),因此我认为remove_hidden函数中需要此选项:

$(element+' .fieldname').remove();

我希望它能有所帮助。

如果我正确地获取了这个源代码,一方面,当您使用add_fieldname函数添加字段名时,您在输入上没有ID。您可能希望将其设置为易于使用。 另一方面,在remove_hidden函数中,您警告了
元素.fieldname
,但试图删除
元素.fieldname
(注意类名前面缺少空格),因此我认为remove_hidden函数中需要此选项:

$(element+' .fieldname').remove();

我希望它能有所帮助。

在这行
删除隐藏的

//Select the element with the id of element AND has the class of fieldname
$(element+'.fieldname').remove();
尝试在
前面加一个空格,如下所示:

//Select the children of element which have a class of fieldname
$(element+' .fieldname').remove();

编辑:在上面添加注释,以便在
删除隐藏的

//Select the element with the id of element AND has the class of fieldname
$(element+'.fieldname').remove();
尝试在
前面加一个空格,如下所示:

//Select the children of element which have a class of fieldname
$(element+' .fieldname').remove();
编辑:在上面添加注释以稍微澄清问题,因为.remove([selector])决定删除什么

他们的文件一开始让我很反感。您试图删除的内容必须已经在集合中(remove方法中的任何选择器都不会删除整个集合)

Ex:删除输入。字段名:

$(element).find('.fieldname').remove('.fieldname');
$(element).find('input').remove('.notfieldname');
或(对于较大的案例收集案例):

Ex:不删除输入。字段名:

$(element).find('.fieldname').remove('.fieldname');
$(element).find('input').remove('.notfieldname');
这是因为.remove([selector])决定删除什么

他们的文件一开始让我很反感。您试图删除的内容必须已经在集合中(remove方法中的任何选择器都不会删除整个集合)

Ex:删除输入。字段名:

$(element).find('.fieldname').remove('.fieldname');
$(element).find('input').remove('.notfieldname');
或(对于较大的案例收集案例):

Ex:不删除输入。字段名:

$(element).find('.fieldname').remove('.fieldname');
$(element).find('input').remove('.notfieldname');

你能做个演示吗?
$(element+'.fieldname')
正在选择什么?尝试
console.log($(element+'.fieldname'))
it。同样正如前面提到的,您可以将演示放在这里:
element.attr('fieldname')
。。。好了,没有名为
fieldname
的属性。是的,正如我所说,“我知道选择器是正确的,因为警报正好是这些输入标记的数量,但它们不会被删除。”。我试着编一把小提琴。将
字段名
用作
和输入字段名几乎肯定会导致混淆。你能演示一下吗?
$(element+'.fieldname')
正在选择什么?尝试
console.log($(element+'.fieldname'))
it。同样正如前面提到的,您可以将演示放在这里:
element.attr('fieldname')
。。。好了,没有名为
fieldname
的属性。是的,正如我所说,“我知道选择器是正确的,因为警报正好是这些输入标记的数量,但它们不会被删除。”。我会试着摆弄一下。将
字段名
用作
和输入字段名几乎肯定会导致混淆。谢谢!你知道为什么$(element).remove('.fieldname')不起作用吗?那可能是因为你原来的选择器选择了一个类为
fieldname
,但你真的想用
fieldname
的类删除
element
的子元素,我误读了你的评论。我不知道为什么
$(element).remove('.fieldname')
不起作用。这是因为remove中的选择器“过滤匹配的元素集”来决定删除什么。他们的文件一开始让我很反感。您试图删除的内容必须已包含在集合中(remove方法中的任何选择器都不会删除整个集合)。谢谢!你知道为什么$(element).remove('.fieldname')不起作用吗?那可能是因为你原来的选择器选择了一个类为
fieldname
,但你真的想用
fieldname
的类删除
element
的子元素,我误读了你的评论。我不知道为什么
$(element).remove('.fieldname')
不起作用。这是因为remove中的选择器“过滤匹配的元素集”来决定删除什么。他们的文件一开始让我很反感。您试图删除的内容必须已经在集合中(remove方法中的任何选择器都不会删除整个集合)。