关于jquery取值的问题

index.php

:?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?: :?:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



$(document).ready(function(){ $(".reply").click(function(){ $('.af').fadeIn('slow') }) $(".add").click(function(){ var at=$(".replyContent").each(function(){ var x=$(this).val(); alert(x) }) }) })


=$i?>
回复
} ?>


:idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea: :idea:

[color=black][b]问题:[/b][/color]怎样取第一条或第二条的值?each遍历的时候会从上到下遍历 当我点击第一或第二条回复时 总是从第零条开始遍历 我只想取第一条的值 怎样才能避免第零条或第二条的值也给遍历出来了?

[b]比如:[/b]我点击第3条回复 如果在第零条和第一条的回复框中输入内容的话 总是会先把第零条和第二条的内容也给遍历出来 这样效率比较低 如果不输入内容 头两次alert出来的是空值 怎样避免多余的遍历 直接把第二条中的回复内容取出来 谢谢!

2个回答

[quote]
比如循环5次 id顺序为 0 1 2 3 4 当我点击id为4时 能直接取出id为4的文本框中的内容 而each则不管你取哪一条都要从上到下来一遍遍历 如果是0-1000 我需要取id为999的文本框内容 那岂不是是要空循环998次?当然我也可能点击id为200 或者500 这个不是固定的 难道jquery中的each函数就是这么玩的?
[/quote]
each本身就是对数组循环,循环多少关键看你数组是多大。如果你要从0~1000里取第999个,那为什么不直接取第999个,而要先获取1000个然后遍历。如果是要取大于多少的对象,那可以使用:
[code="java"]$("textarea:gt(4)")[/code],这样也可以缩小你返回的数组,没必要获取全部的啊。

[code="java"]
$("div#container textarea:nth-child(2)")
[/code]
这样取,应该就能取得指定的textarea了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!