缩短 jQuery 多个子选择器

Shorten jQuery multiple children selector

我觉得这不是选择数据的正确方法:

$(document).on('blur', 'td', function(){   
cID = $(this).children('div.cColor')
                 .children('select.dropdown.cColor_dropdown')
                 .children("option")
                 .filter(":selected")
                 .data("cid");
}

有什么方法可以缩短这个繁琐的选择器吗? 编辑:html

 <tr>   
        <td class="cID">
            <div class="cColor">
                <select class="dropdown cColor_dropdown" >
                <option data-cID="21" value="client_name">client_name</option>
                <option data-cID="22" value="2_client_name">2client_name</option>
                </select>
            </div>
        </td>
 </tr>
 <tr>   
    <td class="cID">
                <div class="cColor">
                    <select class="dropdown cColor_dropdown" >
                    <option data-cID="21" value="client_name">client_name</option>
                    <option data-cID="22" value="2_client_name">2client_name</option>
                    </select>
                </div>
            </td>
 </tr>

如果您提供标记 (HTML) 会更有帮助。 有很多选择:

cID = $(this).find('div.cColor>select.dropdown.cColor_dropdown>option:selected').data("cid");
cID = $(this).find('option:selected').data("cid"); // if there is only one select
cID = $(this).find('select#select-id>option:selected').data("cid"); // select with id
cID = $(this).find('select#select-id option:selected').data("cid"); // if select specified, no need for >