HTML:
<input name="myinputdom" id="myinputdom" class="easyui-combobox myinputdom" data-options="......" />
當使用如下選擇器來操作combobox對象時,會出現不同的表現。
$('input[name=myinputdom]').combobox(...);//錯誤
$(':input[name=myinputdom]').combobox(...);//錯誤
$('#myinputdom').combobox(...);//正確
$('.myinputdom').combobox(...);//正確
分析:
使用firefox查看最終的頁面代碼如下:
<input id="myinputdom" class="easyui-combobox combobox-f combo-f textbox-f" data-options="......" style="display: none;" textboxname="myinputdom" comboname="myinputdom"><!-- 使用id和class選擇器選中的是該元素,因為該元素屬於easyui-combobox類型,所有可以使用combobox的方法 --!>
<span class="textbox combo" style="width: 132px; height: 20px;">
<span class="textbox-addon textbox-addon-right" style="right: 0px;">
<input class="textbox-text validatebox-text" type="text" autocomplete="off" readonly="readonly" placeholder="" style="margin-left: 0px; margin-right: 18px; padding-top: 2px; padding-bottom: 2px; width: 106px;">
class="textbox-value"type="hidden"name="myinputdom"value="3 hours"><!-- 使用表單加屬性選擇器選中的是該元素,因為該元素不是easyui-combobox類型,所有無法使用combobox的方法 --!>
</span>
所以,我們可以使用ID和類選擇器去編輯easyui組件,不可以用input[name='myinputdom']。一般來說,單個組件我們可以使用ID選擇器,批量編輯我們可以使用類選擇器。