Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Выполнение действия при определённом условии (https://javascript.ru/forum/jquery/37998-vypolnenie-dejjstviya-pri-opredeljonnom-uslovii.html)

Jekins 16.05.2013 17:35

Выполнение действия при определённом условии
 
Здравствуйте. :thanks:
Нужна ваша помощь по такой ситуации:

Есть несколько ссылок, в которых определённый текст. Необходимо сделать условие, что если количество символов в ссылке превышает определённое значение, то внутри этой ссылки появляеется HTML элемент, а если количество не набирает определённую сумму, то ничего не происходит.

На данный момент у меня есть такой код:

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
	$(document).ready(function() {
		
			if($('div.tag-box > a').text().length > 3){
				$('div.tag-box > a').append('<span class="fade"></span>');
			} else{	};
		
	});
</script>
</head>
<body>

<div class="tag-box"><a href="#">12345</a></div>
<div class="tag-box"><a href="#">12</a></div>
<div class="tag-box"><a href="#">1</a></div>
</body>
</html>


Но дело в том, что он считывает количество символов абсолютно во всех ссылках вместе и поэтому во все вставляет span, а надо, что бы только в ту, где количество символов превышает условие.

Очень наеюсь на Вашу помощь. Спасибо. ;)

Hekumok 16.05.2013 18:49

$('div.tag-box > a').each(function() {
	var $this = $(this) ;
	if($this.text().length > 3) {
		$this.append('<span class="fade"></span>') ;
	} ;		
}) ;

Jekins 16.05.2013 19:18

Цитата:

Сообщение от Hekumok (Сообщение 250902)
$('div.tag-box > a').each(function() {
	var $this = $(this) ;
	if($this.text().length > 3) {
		$this.append('<span class="fade"></span>') ;
	} ;		
}) ;

Отлично! Спасибо. :yes:


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