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

时间:2010-09-03 15:31:27

标签: jquery

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

var buttons = $("#dialog").siblings(".ui-dialog-buttonpane").find("button");

但是当我尝试做的时候:

buttons[0].attr('id', 'someId');

我明白了:

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

有什么建议吗?我没有在jQuery文档中看到任何暗示attr()不适用于按钮的内容。

1 个答案:

答案 0 :(得分:10)

是:

$(buttons[0]).attr('id', 'someId');

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

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

编辑然后再次......没有必要在所有上使用jQuery 来完成此任务。

buttons[0].id = 'someId';