Tag: 每一个

.each()中的最后一个元素

我有一个问题,我正在做一个简单的表单validation,需要一些自定义的东西,validation插件不能为我做。 基本上,我有一个名字,电子邮件和消息字段,都是必需的,但只有电子邮件是真正的validation,其他人只需要检查,如果他们不是空的。 这是我现在的代码: $("#contactMe form").submit(function() { var email = $('.requiredEmail').val(); if(email != 0) { if(isValidEmailAddress(email)) { $('.requiredText').each(function() { thisVal = $(this).val(); var $this = $(this); if(thisVal != 0) { console.log('Valid Field: '+thisVal); if ($(this) == $(this).parent(':last')) { console.log('Last field, submit form here'); } } }); } else { console.log('Email Not Valid'); } } return false; […]

$ .each(selector)和$(selector).each()之间的区别是什么?

这有什么区别: $.each($('#myTable input[name="deleteItem[]"]:checked').do_something()); 和这个: $('#myTable input[name="deleteItem[]"]:checked').each(function() { do_something }); 表格单元格的html被选中并执行如下所示: <td width="20px"><input type="checkbox" class="chkDeleteItem" name="deleteItem[]" value="' . $rowItem['itemID'] . '" /></td> 我已经浏览了jQuery文档,但我仍然不明白其中的差别。 (对我来说,还是说文档在内容清晰度上有时会略微“模糊”?) 补充信息: 显然我的尝试一个通用的例子是混淆的人! 与第一个例子中(先前)缺失的括号一起。 🙁 第一个例子来自于我的代码中的一行,它删除了选中checkbox的任何行的<tbody>: $.each($('#classesTable input[name="deleteClasses[]"]:checked').parent().parent().parent().remove()); 第二个例子来自于我查看#classesTable中任何选中的checkbox并在下拉列表中删除它的匹配项的情况。 $('#classesTable input[name="deleteClasses[]"]:checked').each(function(){ $('#classesList option[value="' + $(this).attr('value') + '"]').remove(); }); 我明白,他们做了两件不同的事情,但不是我可以说“我需要在这种情况下使用$ .each()和.each(function(){})在另一种情况下。 它们可以互换吗? 只有在某些情况下? 决不?

.each()完成后调用jQuery函数

在jQuery中,是否有可能在调用 .each() (或任何其他types的迭代callback) 完成后调用callback或触发事件 。 例如,我想这个“淡入淡出”来完成 $(parentSelect).nextAll().fadeOut(200, function() { $(this).remove(); }); 在做一些计算并在$(parentSelect)之后插入新的元素之前。 我的计算是不正确的,如果现有的元素仍然是可见的jQuery和睡眠/延迟一些任意时间(每个元素200)似乎是一个脆弱的解决scheme充其量。 我可以很容易.bind()必要的逻辑到一个事件callback,但我不知道如何干净地调用.trigger()上面的迭代完成后 。 显然,我不能在迭代中调用触发器,因为它会多次触发。 在$.each()的情况下,我已经考虑在数据参数的末尾添加一些东西(我会在迭代体中手动查找),但是我讨厌被迫这样做,所以我希望有一些其他优雅的方式来控制迭代callback的stream程。