Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.10.2017, 16:11
Аспирант
Отправить личное сообщение для emptyindorill Посмотреть профиль Найти все сообщения от emptyindorill
 
Регистрация: 16.02.2012
Сообщений: 73

Несколько одновременно исполняемых селекторов
Добрый день.

Не знаю как это называется, но:

$(function(){
   if ($('#da, #po, #projects, #opens, #effect, #potencial').is(':empty')) {
      $('#person #face').addClass('empty');
   };
});


как сделать что бы класс присваивался только тогда когда все из перечисленных селекторов пустые?

Подскажите пожалуйста?

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 23.10.2017, 16:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от emptyindorill
как сделать что бы класс присваивался только тогда когда все из перечисленных селекторов пустые?
Как вариант...

var o=$('#da, #po, #projects, #opens, #effect, #potencial');
   if (o.filter(':empty').length==o.length) {
      $('#person #face').addClass('empty');
   };


Не проверял...
Ответить с цитированием
  #3 (permalink)  
Старый 23.10.2017, 16:21
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,730

Может так?
$(function(){
   if ($('#da, #po, #projects, #opens, #effect, #potencial').toArray().every(function(item){
	   return $(item).is(':empty');
   })) {
      $('#person #face').addClass('empty');
   };
});

Последний раз редактировалось Nexus, 23.10.2017 в 16:24.
Ответить с цитированием
  #4 (permalink)  
Старый 23.10.2017, 16:43
Аспирант
Отправить личное сообщение для emptyindorill Посмотреть профиль Найти все сообщения от emptyindorill
 
Регистрация: 16.02.2012
Сообщений: 73

Спасибо, но не один из вариантов не подошёл(
Ответить с цитированием
  #5 (permalink)  
Старый 23.10.2017, 17:01
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,730

emptyindorill, это все инпуты?

Upd. https://jsfiddle.net/knhz8u1L/

Последний раз редактировалось Nexus, 23.10.2017 в 17:04.
Ответить с цитированием
  #6 (permalink)  
Старый 24.10.2017, 08:34
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

Сообщение от emptyindorill
но не один из вариантов не подошёл
Так ты бы полный пример сделал, а не кусок кода.
Так даже не понятно с чем ты вообще имеешь дело...
Ответить с цитированием
  #7 (permalink)  
Старый 24.10.2017, 09:03
Аспирант
Отправить личное сообщение для emptyindorill Посмотреть профиль Найти все сообщения от emptyindorill
 
Регистрация: 16.02.2012
Сообщений: 73

Прошу прощения.

Понял свою ошибку - объясню максимально конкретно)

<div id="person">
   <div id="face"><img src="img.jpg"></div>
   <div id="info"></div>

   <div id="medal">
      <div id="da"></div>
      <div id="po"></div>
      <div id="projects"></div>
      <div id="opens"></div>
      <div id="effect"></div>
      <div id="potencial"></div>
   </div>
</div>


В диве #medal есть дочерние дивы.
Если они все пустые, без контента - то #face addClass .empty.
Ответить с цитированием
  #8 (permalink)  
Старый 24.10.2017, 09:43
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,123

emptyindorill, уже лучше...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.empty {
	color: red;
}
</style>
<script type='text/javascript'>
$(function(){
	var o=$('#medal > div');
	if (o.filter(':empty').length==o.length) {
		$('#face').addClass('empty');
	};
});
</script>
</head>
<body>
<div id="person">
	<div id="face">Empty</div>
	<div id="info"></div>
	<div id="medal">
		<div id="da"></div>
		<div id="po"></div>
		<div id="projects"></div>
		<div id="opens"></div>
		<div id="effect"></div>
		<div id="potencial"></div>
	</div>
</div>
</body>
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 24.10.2017, 09:44
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,730

https://jsfiddle.net/knhz8u1L/1/
<html>
<head>
<title></title>
<script src='https://code.jquery.com/jquery-latest.js'></script>
<style>
.empty{
  min-height:30px;
  background:red;
}
</style>
</head>
<body>
<div id="person">
   <div id="face"><img src="img.jpg"></div>
   <div id="info"></div>

   <div id="medal">
      <div id="da"></div>
      <div id="po"></div>
      <div id="projects"></div>
      <div id="opens"></div>
      <div id="effect"></div>
      <div id="potencial"></div>
   </div>
</div>
<script>
$(function(){
$('#medal > div').toArray().every(function(item){
  return $(item).is(':empty');
}) && $('#person').addClass('empty');
});
</script>
</body>
Ответить с цитированием
  #10 (permalink)  
Старый 24.10.2017, 09:46
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

emptyindorill,
вам ksa давал код, и он рабочий.

var box = $('#medal').find('>div');
    if(box.filter(':empty').length == box.length) ....
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как запустить несколько потоков чтения/записи одновременно? Sanu0074 Node.JS 0 27.10.2015 18:38
Как запретить пользователю делать несколько ws-соединений одновременно dmitry111 Оффтопик 7 29.04.2014 04:59
Как упорядочить несколько тегов одновременно son313 jQuery 9 07.07.2013 00:57
Передвигать одновременно несколько элементов todd-barry jQuery 19 27.10.2012 22:40
Зацепить одновременно несколько элементов. LRCenter Events/DOM/Window 4 14.03.2011 09:22