我似乎无法在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)