Re: [問題] jquery同時滿足2個條件的列

看板Ajax作者 (新的暱稱)時間13年前 (2012/06/01 13:59), 編輯推噓4(4010)
留言14則, 6人參與, 最新討論串3/3 (看更多)
※ 引述《saluyi (JOJO)》之銘言: : 你是這個意思嗎 : <script type="text/javascript"> : $(document).ready(function () { : $("tr").each(function (i) { : var t= $(this); : if (t.find("td")[0].innerHTML == 0 && t.find("td")[2].innerHTML == 0) { : t.attr("BGcolor", "red"); : } : }); : }); : </script> : <body> : <table> : <tr> : <td>0</td> : <td>2</td> : <td>3</td> : </tr> : <tr> : <td>4</td> : <td>5</td> : <td>6</td> : </tr> : <tr> : <td>0</td> : <td>8</td> : <td>0</td> : </tr> : </table> : </body> : ※ 引述《SalmonFish (SF)》之銘言: : : 我想用jquery取出同時滿足2個條件的列 : : 例如一個第一欄與第3欄內容值都是0的列,然後整列標上紅色 : : 分別抓我知道 : : $('tr td:nth-child(3)').text()==0 : : $('tr td:nth-child(1)').text()==0 : : 可是同時滿足要怎麼取啊? 照你的邏輯寫 <script type="text/javascript"> $(document).ready(function () { $("tr").each(function (i) { if ($(this).children('td:nth-child(3)').html() == 0 && $(this).children('td:nth-child(1)').html() == 0) { $(this).attr("BGcolor", "red"); } }); }); </script> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.219.70.166

06/01 15:17, , 1F
聽說each的效能不好,可以用for loop 就用for吧
06/01 15:17, 1F

06/01 15:37, , 2F
以這個情況,each 只做 for 的 wrapper 不會效能不好啦。
06/01 15:37, 2F

06/01 15:37, , 3F
06/01 15:37, 3F

06/01 15:37, , 4F
不會影響到哪去
06/01 15:37, 4F

06/01 20:21, , 5F
感謝回覆&提供解法,但因被警告有效能上的ISSUE
06/01 20:21, 5F

06/01 20:22, , 6F
所以最後還是採用上一篇saluyi大的作法了
06/01 20:22, 6F

06/02 03:13, , 7F
上一篇不也用 each...
06/02 03:13, 7F

06/03 02:45, , 8F
編譯器警告的不是each...而是警告$(this)多次存取
06/03 02:45, 8F

06/03 02:46, , 9F
而saluyi大用var t= $(this);就沒有這個效能ISSUE
06/03 02:46, 9F

06/03 19:00, , 10F
編譯器?
06/03 19:00, 10F

06/03 20:07, , 11F
哪一款?
06/03 20:07, 11F

06/03 20:15, , 12F
我都不知道javascript有編譯器...是指瀏覽器的警告?
06/03 20:15, 12F

06/03 20:16, , 13F
還是這不是web...
06/03 20:16, 13F

06/03 22:53, , 14F
是ide還是編譯器?
06/03 22:53, 14F
文章代碼(AID): #1Fo5fPGU (Ajax)
文章代碼(AID): #1Fo5fPGU (Ajax)