Я хочу использовать OR для селекторов в jquery.ИЛИ селекторы не работают правильно в jquery
Я пишу этот код:
$("#x").css('display') == 'none' || $("#y").css('display') == 'none'
Но смотрите этот ответ: https://stackoverflow.com/a/2263976/1407491
Я перепишем этот код будет так:
$("#x, #y").css('display') == 'none'
Этот код отлично работает об этом примере кода:
<div id="x"></div>
<div id="y"></div>
return false и это OK.
<div id="x" style="display:none"></div>
<div id="y" style="display:none"></div>
возвращение правда, и это OK.
<div id="x" style="display:none"></div>
<div id="y"></div>
возвращение правда, и это OK.
Но не работает об этом образце:
<div id="x"></div>
<div id="y" style="display:none"></div>
возвращения ложные, но это NOT OK!
Пример кода здесь: http://jsfiddle.net/NabiKAZ/qpquuhxd/
Почему это? и что такое чистый код?
Все Геттеры в JQuery только посмотреть на первый выбранный элемент. Вы работаете с двумя, и полагаете, что он смотрит на оба, что, конечно же, даст неожиданные результаты, если вы не считаете, что он смотрит только на первый. –
@KevinB, и есть ли короткий код без оператора '' '? –
Единственный другой вариант - использовать селектор: visible в сочетании с тестированием длины возвращаемой коллекции, но ваше оригинальное решение будет более эффективным. –