2011-02-18 13 views
1

表的任何行我有一个表(简化了这个问题)是否存在类:入住在JavaScript

<table><br> 
    <tr onclick="selectRow"><br> 
    <td>table data</td><br> 
    <td>table data</td><br> 
    <td>table data</td><br> 
    </tr><br> 
    <tr class="selected" onclick="selectRow"><br> 
    <td>table data</td><br> 
    <td>table data</td><br> 
    <td>table data</td><br> 
    </tr><br> 
</table> 

class="selected"是点击该行的结果。 我想制作一个按钮,点击后,如果有一个选择的类,将返回true,如果没有,则返回false。

任何帮助,非常感谢。 谢谢。

回答

0

不使用外部库,你必须做一些这样的:

  1. 获取所有的表中的行和开始循环浏览
  2. 检查您所在班级的每行className属性(selected)。
    • 如果你只对付一个类,你可以比较:
      tr.className === 'selected'
    • 如果行可以有多个类,你可能会想使用正则表达式。喜欢的东西/\bselected\b/
  3. 只要你得到一个匹配,取消循环,并返回true立即

对于额外的信用,你可以把所有这一切都为这需要你的类中的函数寻找和表格作为参数。

星期一上午,第一件事就是分配。

3
function checkExist(){ 
     var myTr = document.getElementsByTagName('tr'); 

     for(var i=myTr.length; i--;){ 
      if(myTr[i].className.match('(^|\\s+)selected(\\s+|$)')){ 
       alert('true');//return true; 
       return; 
      } 
     } 
     alert('false'); //return false 
} 

,基本上附加到一个按钮或链接是这样的:

<table> 
    <tr onclick="selectRow"> 
     <td>table data</td> 
     <td>table data</td> 
     <td>table data</td> 
    </tr> 
    <tr class='selected' onclick="selectRow"> 
     <td>table data</td> 
     <td>table data</td> 
     <td>table data</td> 
    </tr> 
</table> 
<a href='#' onclick='checkExist()'>click me to find out</a> 
+0

+1因为OP没”不要提jQuery ......但是真的,谁写自己的CSS选择代码并将其复制到代码中?如果有人真的不想包含jQuery,他们应该至少使用http://sizzlejs.com/,这只是3Kb – 2011-02-18 17:40:21

2

你有没有使用库考虑?使用jQuery这可能是一样简单http://jsfiddle.net/andersand/QAb4s/

我的经验是,通过使用JS框架让我不必担心太多关于跨浏览器兼容,同时还具有提高发展速度