JQuery交换html元素的ID和名称

JQuery交换html元素的ID和名称,jquery,Jquery,我可以使用JQuery的内置函数轻松切换两个元素,但是有没有办法交换两个元素的名称和ID。i、 e <a onclick="jQuery('#MetaKey1, #MetaKey, #enternew, #cancelnew').toggle();return false;" href="#postcustomstuff"><span id="enternew">Enter new</span><span id="cancelnew" style="di

我可以使用JQuery的内置函数轻松切换两个元素,但是有没有办法交换两个元素的名称和ID。i、 e

<a onclick="jQuery('#MetaKey1, #MetaKey, #enternew, #cancelnew').toggle();return false;" href="#postcustomstuff"><span id="enternew">Enter new</span><span id="cancelnew" style="display:none;">Cancel</span></a>

其中,MetaKey1是一个文本框,MetaKey是一个列表框。我想交换他们的ID,这样当表单发回时,我就可以得到MetaKey元素的值

//获取id
var idTextBox=jQuery('#MetaKey1').val(“id”)

var idListBox=jQuery('#MetaKey').val(“id”)

//设置id

jQuery('#MetaKey1').val(“id”,idListBox)


jQuery('#MetaKey').val(“id”,idTextBox)

您的问题不是很清楚,但是如果您希望交换两个元素的ID,那么您可以使用以下方法:

$('a').click(function(){
    var m = $('#MetaKey1');
    var n = $('#MetaKey');
    m.attr('id','MetaKey');
    n.attr('id','MetaKey1');
});

你真的不应该把你的HTML和JS像那样混在一起。JQuery的明确设计允许您停止在HTML元素中内联使用脚本代码。您应该使用
jQuery()。单击()
而不是
onclick=''
。好的,我所做的是将所选列表项的值复制到文本框中<代码>$(函数(){$('#MetaKey1').change(函数(){//alert($(this.val());$('#MetaKey').val($(this.val());});})如果用户单击“输入新链接”,然后多次取消,会发生什么情况?是否将再次交换ID?在添加ID之前,您可能必须先删除ID,因为文档中不应该有多个同名ID。。。在这种情况下,更了解DOM的功能和应该做什么的人可能比我更清楚,但我会这么做。是的,它们确实会被再次交换,这是因为每次单击jQuery都会调用函数中定义的操作。最好在应用程序中尝试一下。