javascript removeAttribute和setAttribute

javascript removeAttribute和setAttribute,javascript,jquery,Javascript,Jquery,我想要更改id secend输入:file,我尝试使用以下javascript代码,但不适合我。我该怎么办 演示: Html: 确切的语法是和。您可以使用它们来操纵属性。顺便说一下,你的小提琴上有一些无效的标记。我刚刚纠正了它,并为你做了一个演示。但是请记住,在使用jquery库之前,不要忘记将它添加到html文件中 var getThis = $('#UpUp > input:nth-child(2)'); getThis.removeAttr("id"); getThis.attr("

我想要更改id secend输入:file,我尝试使用以下javascript代码,但不适合我。我该怎么办

演示:

Html:

确切的语法是和。您可以使用它们来操纵属性。顺便说一下,你的小提琴上有一些无效的标记。我刚刚纠正了它,并为你做了一个演示。但是请记住,在使用jquery库之前,不要忘记将它添加到html文件中

var getThis = $('#UpUp > input:nth-child(2)');
getThis.removeAttr("id");
getThis.attr("id", 'unique');
removeAttribute和setAttribute不属于。如果要使用jQuery修改属性,可以使用以下命令:无需先删除现有属性:

$('#UpUp > input:nth-child(2)').attr('id', 'unique');

关闭ur标记。否则第二和第三个输入文件元素将无法加载。为什么您问题中的HTML与演示中的不同?为什么您显然在使用jQuery,但不在演示中包含该库?为什么要获取jQuery对象,然后在其上使用本机DOM方法?@TaylorGomez,您缺少属性名“id”,您可能是从我的答案的早期版本中复制的,该版本有一个typo@TaylorGomez,更重要的是,您的HTML与您在问题中提出的内容不匹配。还有一些额外的p元素妨碍了您。您确定正确地包含了jquery吗?在这里工作@Raj:你不需要.removeAttr部分。OP演示中的HTML标记并不是无效的。@BlueSkies我只是用他提问的方式回答了他。看,小提琴里的第二个孩子是一个标签。因此,从他编写的jquery的角度来看,我的意思是无效的标记:是的,如果他试图以第二个输入为目标,那么标记或选择器肯定有问题。OP仍然应该删除.removeAttr,因为它没有实际意义。
var getThis = $('#UpUp > input:nth-child(2)');
getThis.removeAttr("id");
getThis.attr("id", 'unique');
$('#UpUp > input:eq(1)').attr('id', 'unique');
$('#UpUp > input:nth-child(2)').attr('id', 'unique');