Практическое использование метода jQuery $ (). Each () для презентации. - PullRequest
6 голосов
/ 14 мая 2009

Сегодня я делаю презентацию для некоторых коллег о том, как использовать jQuery с ColdFusion. Это скорее введение в jQuery, чем расширенный сеанс. Я пытаюсь показать, как можно зацикливаться, используя метод jQuery $ (). Each (), и пытаясь придумать несколько практических примеров из реального мира, и я нарисовал пробел. Есть предложения?

Ответы [ 4 ]

17 голосов
/ 14 мая 2009
// changes every other div green
$("div").each(function(i) { if (i % 2) this.style.backgroundColor = "green"; });
4 голосов
/ 14 мая 2009

Пропустить это. В любом случае, это будет сбивать с толку новых пользователей. jQuery возвращает массивы объектов и уже применяет вызовы функций к каждому, что не очевидно для нуба. Вы будете тратить время на каждое (), и все, что вы получите от него, это люди, которые $('a').each().css("color", "red"); или $('a').each(function(){ $(this).css("color", "red");});

Не спрашивайте, откуда я знаю, что нубы, встречающиеся с .each (), могут в итоге совершить эту ошибку.

3 голосов
/ 14 мая 2009

Установите все флажки в сетке данных на основе значения некоторого внешнего флажка

$('#<%=dgMyDataGrid.ClientID %> :checkbox').each(function(i)
{
this.checked = $(#SelectAll).is(":checked")
});

У меня изначально был код метода findcontrol () вместо #SelectAll, но, надеюсь, это иллюстрирует то, что я пытался сделать. Эта функция также была связана с событием щелчка # SelectAll.

(также отметим, что я новичок в jQuery!)

edit: полная реализация того, для чего я использовал это здесь , если кому-то интересно:)

2 голосов
/ 27 ноября 2010

Использование каждого () в JQuery

Вы можете увидеть мою попытку очень простого «более / менее» расширяемого кода газетной колонки. Вот код, который использует функцию each (). Я работал над тем, чтобы все было просто - без счетчиков, без сохранения в var и без использования индекса, вот код:

Смотрите живую демоверсию и исходный код на моем сайте Здесь, в Манисе Турикш

Код JQ


$(document).ready(function(){
$(".expand").each(function() {
$('p', this).hide(); //hide all p's for each div class=expand
$('p:first', this).show(); //show only first p in each div
$('.more',this).show(); //show more link belw each div
});

$('.more').toggle( 
    function() { 
    $(this).prevAll().show(); // toggle on to show all p's in div id=expand selected by this id=more
    $(this).html('less..'); //change legend to - less - for this id=more when div is expanded
    }, 
    function() {
    $(this).prevAll().not('p:last,h3').hide(); //hide all p's except first p, counts backwards in prevAll and reshow header h3 as it was hidden with prevAll
    $(this).html('more..'); //change legend to - more - for this id=more when div is collapsed
    });
});

код CSS



body {font-family:calandra;font-size:10px;}
.expand {width:17%;margin-right:2%;float:left;} /*set div's as newspaper columns */
p {display:block;} /*always display p's when JS is disabled */
.more{color:red;display:none;} /*never display a's when JS is disabled */

HTML-код


<div class="expand"><br />
<h3>Headine 1</h3><br />
<p>1.A paragraph typically consists of a unifying main point, thought, or idea accompanied by supporting details. The non-fiction paragraph usually begins with the general and moves towards the more specific so as to advance an argument or point of view.</p><br />
<p>2. Each paragraph builds on what came before and lays the ground for what comes next. Paragraphs generally range three to seven sentences all combined in a single paragraphed statement. In prose fiction successive details, for example; but it is just as common for the point of a prose paragraph to occur in the middle or the end.</p><br />
<p>3 A paragraph can be as short as one word or run the length of multiple pages, and may consist of one or many sentences. When dialogue is being quoted in fiction, a new paragraph is used each time the person being quoted changed.11</p><br />
<p>4 The last paragraph</p><br />
<a  href="#" class="more">more</a><br />
</div><br />
<br />
<br />
<div class="expand"><br />
<h3>Headine 2</h3><br />
<p>Amet vestibulum. Nisl a, a eros ut, nec vivamus. Tortor nullam id, metus ut pretium. Amet sociis. Ut justo. Amet a est, dolor integer, purus auctor pretium.</p><br />
<p>Libero sapien sed, nulla nullam. Porta tincidunt. Suspendisse ante ac, eget fermentum vivamus. Ipsum sapien placerat. Adipiscing lorem magna, urna tortor dictum.</p><br />
<p>Fringilla a morbi, sed sollicitudin magna. Justo et in, sem aenean, molestie integer tincidunt. Magna quo, erat odio. Posuere enim phasellus, dui pede. Sit a mauris, metus suscipit.</p><br />
<p>Lobortis et, pellentesque nec, suspendisse elit quisque. Justo vestibulum debitis, augue fermentum. Orci et id. Ut elit, tortor ut at. Eum et non, faucibus integer nam, ac ultrices augue.</p><br />
<p>Ultricies magnis, velit turpis. Justo sit, urna cras primis, semper libero quam. Lectus ut aliquam. Consequat sed wisi, enim nostrud, eleifend egestas metus. Vestibulum tristique. Et erat lorem, erat sit.</p><br />
<p>Aliquam duis mi, morbi nisl. Rhoncus imperdiet pede. Sit et. Elit fusce, feugiat accumsan incididunt. Nec ipsum feugiat, accumsan dictum massa. Nec sit.22</p><br />
<a  href="#" class="more">more</a><br />
</div>

Я старался сделать это как можно проще, используя each ().
Джон Гиз

...