Как объединить логическое ИЛИ с логическим И в селекторе атрибутов jQuery?

Учитывая следующий 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>

Можно ли с помощью jQuery выбрать пользователей мужского пола из CA или NV, но без использования функции фильтрации? Чтобы быть ясным, я знаю, что

$(xml).find("user[sex='m']")

выбирает только пользователей мужского пола, а

$(xml).find("user[state='CA'],[state='NV']")

выбирает всех пользователей из CA или NV. Но я не могу объединить их оба с помощью логического И в одном селекторе.

Однако при использовании функции фильтра работает следующее:

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

Спасибо!

9
задан BoltClock 10 December 2010 в 02:14
поделиться