如何使用jQuery向元素添加ID?

sub*_*ma6 4 jquery

我似乎无法在jQuery创建的对话框中为按钮添加ID.通过选择器声明对话框后,我可以选择按钮,如下所示:

var buttons = $("#dialog").siblings(".ui-dialog-buttonpane").find("button");
Run Code Online (Sandbox Code Playgroud)

但是当我尝试做的时候:

buttons[0].attr('id', 'someId');
Run Code Online (Sandbox Code Playgroud)

我明白了:

TypeError: Object #<an HTMLButtonElement> has no method 'attr'

有什么建议?我没有在jQuery文档中看到任何暗示不attr()应该在按钮上工作的东西.

Tom*_*lak 10

是:

$(buttons[0]).attr('id', 'someId');
Run Code Online (Sandbox Code Playgroud)

attr()方法在jQuery对象上声明,但buttons[0]为您提供了一个标准DOM对象(在本例中为HTMLButtonElement类型).jQuery对象是DOM对象的扩充数组,因此索引到它们总是会为您提供原始的DOM对象.

由于jQuery不向DOM对象本身添加方法,因此必须首先将DOM对象包装在jQuery对象中以访问这些方法.

编辑再然后......就没有必要使用jQuery 在所有完成这个任务.

buttons[0].id = 'someId';
Run Code Online (Sandbox Code Playgroud)