Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Условие наличия текста (https://javascript.ru/forum/jquery/15525-uslovie-nalichiya-teksta.html)

raler 02.03.2011 19:39

Условие наличия текста
 
привет всем.
у меня вопрос: как сделать условие на наличие необходимого текста в блоке

я делал так:
if($('.block1').text('Текст')) {$('.block2').css('display', 'none')}

if($('.block1').html('Текст')) {$('.block2').css('display', 'none')}

if($('.block1').text() == 'Текст') {$('.block2').css('display', 'none')}


ни один скрипт не заработал..подскажите, может чтонибудь не так делаю?
Текст в блоке состоит из одного слова.

рони 02.03.2011 20:42

raler,
Если идёт проверка не input последнее условие должно работать, для input надо text() поменять на .val()
<!DOCTYPE html>
<html>
<head>
  <style>
  .block1 { color:blue;}
  .block2 { color:red; }
  .block3 { color:blue;}
  .block4 { color:red; }
  </style>
  <script src="http://code.jquery.com/jquery-1.5.js"></script>
</head>
<body>
  <p class="block1">Текст</p>
  <p class="block2">Должен исчезнуть</p>
  <input class="block3" value="Текст" />
  <input class="block4" value="Должен исчезнуть" />
<script>
    if($('.block1').text() == 'Текст') {$('.block2').css('display', 'none')};
    if($('.block3').val() == 'Текст') {$('.block4').css('display', 'none')}
</script>
</body>
</html>

lalala 04.03.2011 17:24

Достаточно сделать так, если вы хотите проверить наличие любого текста или HTML тегов
if($('.block1').text()) {$('.block2').css('display', 'none')}

в случае с $('.block1').text('bla-bla-bla') или (.html('bla-bla-bla')) вы вбиваете текст в ваш блок,а не выполняете проверку
Цитата:

Если идёт проверка не input последнее условие должно работать, для input надо text() поменять на .val()
if($('.block3').val()) {$('.block4').css('display', 'none')}

Андрей38 04.03.2011 21:20

Цитата:

Сообщение от raler (Сообщение 94677)
привет всем.
у меня вопрос: как сделать условие на наличие необходимого текста в блоке
ни один скрипт не заработал..подскажите, может чтонибудь не так делаю?
Текст в блоке состоит из одного слова.

Этот вопрос меня тоже очень интересовал , ну вот_ я покапался в скрипте от rallera ,и вот- более наглядно, кажеться .Спасибо Ралеру!
<!DOCTYPE html>
<html>
<head>
  <style>
  .block1 { color:blue;}
  .block2 { color:red; }
  .block3 { color:blue;}
  .block4 { color:red; }
  </style>
  <script src="http://code.jquery.com/jquery-1.5.js"></script>
</head>
<body>

 
  <input class="block4"  />
  <input class="block3" />
<script>
 $(document).keyup(function(){
 var A = $('.block4').val();
  var B = $('.block3').val()
    if(A == B) {$('.block4').css('background-color', 'green')};
	if(A != B) {$('.block4').css('background-color', 'blue')};
	});
</script>
</body>
</html>


Часовой пояс GMT +3, время: 16:00.