Javascript 如何根据ID删除某些项目

Javascript 如何根据ID删除某些项目,javascript,jquery,Javascript,Jquery,我通过以下代码获得所有文件上传控制 var fileuploadControls = $( "input[type='file']" ); 现在我想在fileuploadControls中循环,如果ID不匹配,则删除它 for(var i=0;i<fileuploadControls .length;++i) { if(fileuploadControls[i].id != "A") { //remove the item and

我通过以下代码获得所有文件上传控制

   var fileuploadControls = $( "input[type='file']" );
现在我想在fileuploadControls中循环,如果ID不匹配,则删除它

for(var i=0;i<fileuploadControls .length;++i)
 {
       if(fileuploadControls[i].id != "A")
        {
          //remove the item and fileUploadcontrols should be same type of abject as returned by the jquery not an array
         }

 }

也从DOM中删除:

在循环中,您可以这样做:

for(var i = 0; i < fileuploadControls.length; ++i ) {
    if( fileuploadControls[i].id !== "A" )
        fileuploadControls.eq(i).remove();
}
或直接作为子选择器:

fileuploadControls.not("#A").remove();
var fileuploadControls = $("input[type=file]:not(#A)");

仅从对象中删除:

通过更好的初始选择器:

var fileuploadControls = $("input[type=file]:not(#A)");
通过修剪jQuery对象:

fileuploadControls = fileuploadControls.not("#A");
按过滤器:

fileuploadControls =  fileuploadControls.filter(function() {
    return $(this).attr("id") !== "A";
});

您可以创建一个函数来删除元素

for(var i=0;i<fileuploadControls .length;++i)
 {
       if(fileuploadControls[i].id != "A")
        {
            remove(fileuploadControls[i].id);
        }

 }

function remove(id) {
    return (el=document.getElementById(id)).parentNode.removeChild(el);
}

for(var i=0;i
fileuploadControls[i]。remove()
不起作用?我刚才试过
$(fileuploadControls[i])。remove()
@ShaunakD,不要这样做!在jQuery对象中再次重铸它既慢又糟糕。
fileuploadControls.eq(i)。remove()
@eisbehr,用户已经有
fileuploadControls[i]
对象可用。所以没关系。我需要ID为“#A”的dom对象的fileuploadControls,并将tye作为file和A输入,我将重复我该怎么做多人已经告诉过你,ID没有重复,它们是uniqe。如果代码重复,请检查代码。改用classe,或者在这里的问题中发布你的代码,让他们为你提供所需的帮助。我已经编辑了代码,如果有帮助的话,还包括了HTML和js部分
fileuploadControls =  fileuploadControls.filter(function() {
    return $(this).attr("id") !== "A";
});
for(var i=0;i<fileuploadControls .length;++i)
 {
       if(fileuploadControls[i].id != "A")
        {
            remove(fileuploadControls[i].id);
        }

 }

function remove(id) {
    return (el=document.getElementById(id)).parentNode.removeChild(el);
}