使用jquery更改属性的问题

rsh*_*ers 0 javascript jquery

我在更改id的属性时遇到了问题,似乎无法弄清楚我做错了什么.我想这对我也是新手也无济于事.

我有一个函数测试,以确保我从我动态创建的表单中的行中提取正确的id.它是这样的:

myFunction() {
  var id = $(id).attr("id");
  alert("This is my id " + id);
}
Run Code Online (Sandbox Code Playgroud)

这没有问题,当我点击指定的按钮提醒我我的ID时,它会给我表单中动态行的ID.现在问题是当我尝试用这个改变id时:

changeId() {
  var newId = $(id).attr("id", "x");
  alert("This is my new id " + newId);
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下会发生什么,它将提醒说"这是我的新id [对象对象]",而不是给我新的id.有什么建议?我真的很感激任何帮助.

Nic*_*ver 5

.attr(attribute, value) 再次返回jQuery对象(这样你可以继续链接),如果你想要那个分配的ID,你需要这样做:

changeId() {
  var newId = $(id).attr("id", "x").attr("id");
  alert("This is my new id " + newId);
}
Run Code Online (Sandbox Code Playgroud)

虽然直接路线要好得多,例如:

changeId() {
  var newId = "x"
  $(id).attr("id", newId);
  alert("This is my new id " + newId);
}
Run Code Online (Sandbox Code Playgroud)

  • 尼克,为什么你在修改后的`changeId()中捕获`newId`?这对我来说更有意义:`changeId(){var newId ='x'; $(id).attr('id',newId); alert('这是我的新id'+ newId); }` (2认同)