$ .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文档,但我仍然不明白其中的差异。 (是我还是文档有时会在内容清晰度上略微“模糊”?)

补充信息:

显然,我尝试一个通用的例子让人们感到困惑! 与第一个示例中的(以前)缺失的括号一起。 :(

第一个示例来自我的代码中的一行,该行用于删除具有复选框的任何行的<tbody>:

$.each($('#classesTable input[name="deleteClasses[]"]:checked').parent().parent().parent().remove());

第二个例子来自于我查看#classesTable中任何选中的复选框并在下拉列表中删除其匹配项的情况。

$('#classesTable input[name="deleteClasses[]"]:checked').each(function(){
    $('#classesList option[value="' + $(this).attr('value') + '"]').remove();
});

我知道他们做了两件不同的事情,但不是我可以说“我需要在这种情况下使用$ .each(),在另一种情况下使用.each(function(){})。

它们可以互换吗? 只有在某些情况下? 决不?


描述:

.each是一个迭代器,仅用于迭代jQuery对象集合,而jQuery.each$.each )是用于迭代JavaScript对象和数组的一般函数。

例子:

使用$ .each()的Javascript数组(或js对象):

var myArray = [10,20,30];

jQuery.each( myArray, function(index, value) {
   console.log('element at index ' + index + ' is ' + value);
});

//Output
element at index 0 is 10
element at index 1 is 20
element at index 2 is 30

使用.each()的jQuery对象

$('#dv').children().each(function(index, element) {
    console.log('element at index ' + index + 'is ' + (this.tagName));
    console.log('current element as dom object:' + element);
    console.log('current element as jQuery object:' + $(this));
});

//Output
element at index 0 is input
element at index 1 is p
element at index 2 is span

如果你正在寻找更多的例子+细节,$ .each vs .each()

资源

  • jQuery.each$.each )doc:https: $.each
  • .each文档:http: .each
  • jQuery循环通过具有相同类的元素

  • 来自http://api.jquery.com/jQuery.each:

    $ .each()函数与.each()函数不同,后者仅用于遍历jQuery对象。 $ .each()函数可用于遍历任何集合,无论它是地图(JavaScript对象)还是数组。


    你想真正使用$.each和一个不是元素或其他东西的数组。 即:

    var x = ["test", "test2"];
    

    你会使用$.each(x...遍历而不是x.each :)

    .each仅适用于元素:)

    链接地址: http://www.djcxy.com/p/83507.html

    上一篇: What is the difference between $.each(selector) and $(selector).each()

    下一篇: Query classnames of checked items as array?