Javascript jquery自动返回值

Javascript jquery自动返回值,javascript,jquery,return,Javascript,Jquery,Return,在这段代码中,函数返回什么?该值被分配给每个div的id属性。我发现它返回第一个div的div-id0,第二个div的div-id1。为什么会发生这种情况 $("div").attr("id", function (arr) { return "div-id" + arr; }) 看 在文件中 .attr(attributeName,function(index,attr)) attributeName要设置的属性的名称 函数(index,attr)返回要设置的值的函数。这是当前元素接收集

在这段代码中,函数返回什么?该值被分配给每个div的id属性。我发现它返回第一个div的div-id0,第二个div的div-id1。为什么会发生这种情况

$("div").attr("id", function (arr) {
  return "div-id" + arr;
})

在文件中

.attr(attributeName,function(index,attr))

attributeName
要设置的属性的名称

函数(index,attr)
返回要设置的值的函数。这是当前元素接收集合中元素的索引位置和旧属性值作为参数。


将函数传递给jQuery或在jQuery中传递函数时,传递给函数的第一个参数是当前的数组索引,第二个参数是您试图为当前元素

设置的属性的当前值,如果您将函数作为第二个参数提供给
attr
,该函数对选择中的每个元素执行一次,返回值设置为该元素的属性值

选择中的位置作为第一个参数传递给回调;属性的当前值作为第二个参数传递

$("div").attr("id", function (arr) {
  return "div-id" + arr;
})
因此,此代码将每个
div
元素的
id
设置为
divid
加上元素在选择中的位置。因此,第一个将是
div-id0
,第二个是
div-id1
,等等

最好将参数命名为
index
,而不是让人费解的
arr

查看显示:
.attr(attributeName,function(index,attr))
。因此,
arr
是元素集中元素的索引。