小编use*_*264的帖子

如何在jQuery属性选择器中组合逻辑OR和逻辑AND?

给出以下XML:

<users>
    <user state="CA" sex="m">Max</user>
    <user state="AZ" sex="f">Jen</user>
    <user state="OR" sex="f">Kim</user>
    <user state="NV" sex="m">Bob</user>
    <user state="CA" sex="m">Jon</user>
    <user state="AZ" sex="m">Jim</user>
    <user state="OR" sex="f">Joy</user>
    <user state="NV" sex="f">Amy</user>
</users>
Run Code Online (Sandbox Code Playgroud)

使用jQuery,有没有办法选择男性用户,来自CA或NV,但没有使用过滤功能?要清楚,我知道

$(xml).find("user[sex='m']")
Run Code Online (Sandbox Code Playgroud)

只选择男性用户

$(xml).find("user[state='CA'],[state='NV']")
Run Code Online (Sandbox Code Playgroud)

从CA或NV中选择所有用户.但是我无法将它们与单个选择器中的逻辑AND组合在一起.

但是,使用过滤器功能可以起到以下作用:

$(xml).find("user").filter(function() {
    return $(this).attr('sex') == 'm' && ($(this).attr('state') == 'CA' || $(this).attr('state') == 'NV')
}).each(function() {
    alert($(this).text());
});
Run Code Online (Sandbox Code Playgroud)

谢谢!

javascript jquery attributes jquery-selectors

9
推荐指数
1
解决办法
7865
查看次数

标签 统计

attributes ×1

javascript ×1

jquery ×1

jquery-selectors ×1