Javascript 带有全选功能的jquery选择器

Javascript 带有全选功能的jquery选择器,javascript,jquery,html,Javascript,Jquery,Html,为了简单起见,我有一个页面包含以下内容: <div id="parent"> <div class="commonClass" data-attribute-one="some value" data-attribute-two="some value"> .... (lots more rows) </div> 我遇到的困难是如何处理用户清空搜索字段或从下拉列表中选择“全部”(以过滤数据属性1)的情况?有没有办法更改我现有的选择器,以便更好

为了简单起见,我有一个页面包含以下内容:

<div id="parent">
    <div class="commonClass" data-attribute-one="some value" data-attribute-two="some value">
    .... (lots more rows)
</div>
我遇到的困难是如何处理用户清空搜索字段或从下拉列表中选择“全部”(以过滤数据属性1)的情况?有没有办法更改我现有的选择器,以便更好地处理空(“”)searchValue1和/或searchValue2?或者,是沿着以下行动态构造选择器的解决方案:

selector = ".commonClass"
if ( searchValue1 != '' ) {
   selector += "[data-attribute-one='" + searchValue1 +"']"
} ... etc

根据Joe Enos和Jaw.sh的评论,我编写了一个构建选择器的方法:

function constructSearchSelector() {
    var selector = ".commonClasss";
    if ( searchValue1 != '' ) {
        selector += "[data-attribute-one='" + searchValue1 + "']";
    }
    if ( searchValue2 != '' ) {
        selector += "[data-attribute-two*='" + searchValue2 + "']";
    }
    return selector;
}

通过这种方式,我可以轻松地添加更多搜索条件,并且可以轻松地调试构造的值。谢谢你的评论

就我个人而言,我同意你最后的选择。这样,当您进行调试时,您的
选择器将变得简单易读。您提供的示例解决方案没有任何问题。我想不出比这更雄辩的了。谢谢你的评论!
function constructSearchSelector() {
    var selector = ".commonClasss";
    if ( searchValue1 != '' ) {
        selector += "[data-attribute-one='" + searchValue1 + "']";
    }
    if ( searchValue2 != '' ) {
        selector += "[data-attribute-two*='" + searchValue2 + "']";
    }
    return selector;
}