<script>
$("down-checkbox").click(function(){
$("td .badge").each(function(){
if($($this).text() == "LIVE"){
$($this).hide();
}
else if($($this).text() == "DOWN"){
$($this).show();
}
});
});
</script>
Вы также можете использовать обратную логику, чтобы показать и скрыть основанный статус LIVE / DOWN
Как наблюдался, &
поразрядная операция И. Необработанная двоичная математика является кажущейся, чтобы быть все меньше и меньше распространенной со временем с растущим числом разработчиков не действительно понимание поразрядной арифметики. Который может время от времени быть болью.
Однако существует много задач, которые лучше всего решены с таким, в особенности что-либо, что смотрит на данные как на флаги. &
оператор на 100% необходим, и не идет никуда - он просто не используется так же часто как булево замыкание накоротко &&
оператор.
Например:
[Flags]
enum SomeEnum { // formatted for space...
None = 0, Foo = 1, Bar = 2 // 4, 8, 16, 32, ...
}
static void Main() {
SomeEnum value = GetFlags();
bool hasFoo = (value & SomeEnum.Foo) != 0;
}
static SomeEnum GetFlags() { ... }
Если Вы используете сингл и (И) вторая часть выражения оценена. Это могло быть плохо, если вторая часть полагается на первую часть, являющуюся верным. Обычно всегда используйте &&, поскольку вторая часть не оценена, если первая часть является ложью.
Логически сингл и делает битовую операцию, как другие сказали, который все еще допустим для булева сравнения/оценки. Действительно единственное время, сингл и (или |) должен использоваться (или булева оценка) - то, если вторая оценка должна всегда работать (если это - вызов функции / модификатор). Это - плохая практика через и вероятно почему книга не упоминает это.
Единственный и полезны с перечислениями флага и битовыми масками.
Следующее выдаст исключение obj, является пустым:
bool b = obj != null & obj.IsActive
Но это будет работать:
bool b = obj != null && obj.IsActive
Это плохо:
bool b = obj.IsActive && obj.SetActive(false);
bool b = obj.IsActive & obj.SetActive(false);
И оператор устанавливается.
Всегда используйте && при выполнении истинного/ложного логического теста. Сингл и выполняет поразрядное 'и'. Это делает работу как логический тест в некоторых случаях, но это, как гарантируют, не будет работать на все логические случаи. Наиболее популярный способ использования сингла и при применении битовой маски.
Примеры (&&):
true && true == true
Пример (и):
00101001 & 00100001 = 00100001
И побитовый оператор, в то время как && является операцией И. Две совершенно других операции.
int a = 1;
int b = 2;
assert (a & b == 0)
assert (a && b == true)
Править: Ooops... этот пример не работает в C#. Это должно в C++. Надо надеяться, это иллюстрирует намерение и различие между этими двумя операторами.