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;ifileuploadControls[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);
}