Практическое использование метода jQuery $().each() для презентации

StackOverflow https://stackoverflow.com/questions/863166

  •  21-08-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

// changes every other div green
$("div").each(function(i) { if (i % 2) this.style.backgroundColor = "green"; });

Другие советы

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

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

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

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

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

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

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

Использование каждого() в 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">
<h3>Headine 1</h3>
<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>
<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>
<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>
<p>4 The last paragraph</p>
<a href="#" class="more">more</a>
</div>


<div class="expand">
<h3>Headine 2</h3>
<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>
<p>Libero sapien sed, nulla nullam. Porta tincidunt. Suspendisse ante ac, eget fermentum vivamus. Ipsum sapien placerat. Adipiscing lorem magna, urna tortor dictum.</p>
<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>
<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>
<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>
<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>
<a href="#" class="more">more</a>
</div>

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top