jquery селектори

tu6o

Registered
Искам селекторите да прихващат всички елементи дори и тези, които са добавени след декларирането на функцията. Възможно ли е?

Един кратък пример:

Код:
<script type="text/javascript">
		$(document).ready(function() {

			$("#random p").click(function () {
				
				$(this).css("color","red");
				
			});
			$("#random").append("<p>text</p>");
		});
		
</script>
</head>
<body>
<div id="random">
<p>Random text</p>
<p>Random text</p>
<p>Random text</p>
</div>

Последният параграф, който добавих с append() не си променя стила при кликване за разлика от останалите.
 
Код:
<script type="text/javascript">
      $(document).ready(function() {
				$("<p>text</p>").appendTo("#random");
         $("#random p").click(function () {
            
            $(this).css("color","red");
            
         });
         
      });
      
</script>
Първо добавяш елемента и после клик евента. Ако динамично с клик добавяш елементи пак би трябвало да стане.
 
m1ro каза:
Първо добавяш елемента и после клик евента. Ако динамично с клик добавяш елементи пак би трябвало да стане.

Не добавям елемента първо, защото append() се изпълнява само при определен клик. Нещо като това:

Код:
<script type="text/javascript">
		$(document).ready(function() {

			$("#random p").click(function () {
				
				$(this).css("color","red");
				
			});
			
			$("font").click(function () {

			        $("#random").append("<p>text</p>");

			});
		});
		
</script>
</head>
<body>
<div id="random">
<p>Random text</p>
<p>Random text</p>
<p>Random text</p>
</div>
<font>fsd</font>
</body>

Колкото и елементи да добавя като изпълнявам втората функция, първия метод не ги прихваща : (
 

Back
Горе