jquery自动返回值

Posted

技术标签:

【中文标题】jquery自动返回值【英文标题】:jquery automatic return value 【发布时间】:2011-09-07 17:35:21 【问题描述】:

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

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

【问题讨论】:

查看documentation 会发现:.attr( attributeName, function(index, attr) )。所以arr是元素集合中元素的索引。 【参考方案1】:

见http://api.jquery.com/attr/

在文档中

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

attributeName要设置的属性名称。

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

【讨论】:

【参考方案2】:

在jQuery中将函数传递给attrcss时,传递给函数的第一个参数是当前数组索引,第二个参数是你的属性的当前值正在尝试为当前元素设置。

【讨论】:

【参考方案3】:

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

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

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

所以这段代码将每个div 元素的id 设置为div-id 加上该元素在选择中的位置。所以第一个是div-id0,第二个是div-id1,以此类推。

最好将参数命名为index,而不是令人困惑的arr

【讨论】:

以上是关于jquery自动返回值的主要内容,如果未能解决你的问题,请参考以下文章

如何告诉 jquery 自动完成每行显示一项而不是一行中的整个返回值?

jquery方法返回值问题

jQuery返回值:jQuery对象

jQuery UI AutoComplete:只允许从建议列表中选择值

jquery json返回值的获取问题

关于怎么用jQuery来获取mvc中返回值为JsonResult的值