2016-12-13 42 views
0

选择HTML结构,我有以下HTML:如何在没有一个id

<button type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" role="button"> 
     <span class="ui-button-text">New</span> 
    </button> 

这是创建一个对话框时,会自动创建一个按钮。我试过在对话框定义中添加一个'id',但这会导致查询错误。

$("#createDept").dialog({modal:true 
         ,draggable:true 
         ,resizable:false 
         ,position:{my:"center" 
            ,at:"center" 
            ,of:window} 
          ,show:"blind" 
          ,hide:"blind" 
          ,height:204 
          ,width:232 
         ,dialogClass:"ui-dialog-osx" 
          ,buttons:{"New":fnClearAllFields 
             ,id:"btnEdit" 
           ,"Submit":function() { 
    ... 
    }}); 

我得到的错误是:

setAttribute — jquery-2.2.1.min.js:3:30983InvalidCharacterError (DOM Exception 5): The string contains invalid characters. 

所以现在的问题是,我该如何选择HTML并删除它的基础上跨度含量等于“新”?

[编辑] ..我可以看到,按钮引用分配了两个按钮新建和提交,这是我前段时间完全忘了它,所以id完全是在错误的地方。

如何将“ID”添加到“新建”按钮?

我想:

,buttons:{"New"{click:fnClearAllFields 
         ,id:"btnEdit"}} 

但是,这是行不通的。

+0

按钮对象内的“新”是按钮名称(文本)? 什么是fnClearAllFields –

+0

@IvanKaraman,fnClearAllFields是一个函数,当点击按钮时会被调用...我想我现在看到了这个问题,“Submit”是另一个按钮,我错过了这个,谢谢。 – SPlatten

+0

'buttons:'对象中的按键是应该添加到对话框中的按钮的标签,而不是按钮的属性。这些值是单击按钮时应该调用的函数。 'btnEdit'不是可以调用的函数。 – Barmar

回答

0

代替单一的对象映射按钮标签的回调,需要使用含有每个按钮的属性的对象的数组:

buttons: [ 
    { 
     text: "New", 
     id: "btnEdit", 
     click: fnClearAllFields 
    }, 
    { 
     text: "Submit", 
     click: function() { 
      ... 
     } 
    } 
] 

参见jQuery的UI documentation的例子。