首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

考考大家jquery的基本功怎么2,关于选择器

2012-10-16 
考考大家jquery的基本功如何2,关于选择器HTML code!DOCTYPE htmlhtmlheadtitleDuplicate Cell/ti

考考大家jquery的基本功如何2,关于选择器

HTML code
<!DOCTYPE html><html><head>    <title>Duplicate Cell</title>    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.1.js"              type="text/javascript"></script>    <script type="text/javascript">        $(function () {             $("#btnShowMe").click(function () {              //在此添加代码                        })          });    </script>    <style type="text/css">        #scoreboard { width: 400px; margin-top: 20px; }        #scoreboard td { border: 1px solid gray; padding: 4px; }        #scoreboard thead { text-align: center; background-color: #ddd; }        #scoreboard tbody { text-align: center; }        td.c-Score { text-align: right; }    </style></head><body><input type="button" id="btnShowMe" value="test" /><table id="scoreboard"><thead><tr><td>No</td><td>Name</td><td>Date</td><td>Score</td></tr></thead><tbody><tr><td id="0$0">1</td><td id="0$1">Jeffrey</td><td id="0$2">2011/05/07</td><td id="0$3">2011</td></tr><tr><td id="1$0">1</td><td id="1$1">Jeffrey</td><td id="1$2">2011/06/21</td><td id="1$3">9999</td></tr><tr><td id="2$0">1</td><td id="2$1">Jeffrey</td><td id="2$2">2011/06/22</td><td id="2$3">32767</td></tr><tr><td id="3$0">2</td><td id="3$1">Mulder</td><td id="3$2">2011/06/01</td><td id="3$3">999</td></tr><tr><td id="4$0">3</td><td id="4$1">Darkthread</td><td id="4$2">2011/06/10</td><td id="4$3">100</td></tr><tr><td id="5$0">3</td><td id="5$1">Darkthread</td><td id="5$2">2011/06/15</td><td id="5$3">100</td></tr></tbody></table> </body></html>


表格中的ID是以行和列形式定义成"X$Y",现在如何用jquery的筛选器,通过ID来获取第二列的所有TD,求代码

[解决办法]
//不要说得那么好听
JScript code
alert($("td[id$='1']").text());//一下得到所有值                var arr=$("td[id$='1']");                for(var i=0;i<arr.length;i++){                    alert($(arr[i]).text());//分别一个个弹出                }
[解决办法]
JScript code
        $(function () {             $("#btnShowMe").click(function () {               var nodes = $('[id^="1$"]');               var ret = [];               nodes.each(function(){                 ret.push(this.id);               });               alert(ret.join(', '));            })         });
[解决办法]
伸手党经常会伪装成标题党。不过这个问题,挺细致的,不是大块地要,就是细节不会了,也算不上伸手党了。

楼上都回答了。但2楼那样的方法有弊端,如果列较多,有11,21这样的列,就不能用了。

其实我觉得这个问题,既然用JQ了,何必再用什么ID呢,既让后台麻烦了,又很没有必要,还啰嗦。

只要这样一行就行了:
$("#scoreboard>tbody>tr").each(function(){alert($(this).children("td").eq(1).text());});
查找每一行的第二列,甭管有没有ID,和有多少列,都准确无误。
------解决方案--------------------


探讨

伸手党经常会伪装成标题党。不过这个问题,挺细致的,不是大块地要,就是细节不会了,也算不上伸手党了。

楼上都回答了。但2楼那样的方法有弊端,如果列较多,有11,21这样的列,就不能用了。

其实我觉得这个问题,既然用JQ了,何必再用什么ID呢,既让后台麻烦了,又很没有必要,还啰嗦。

热点排行