2012-07-31 88 views
1

下面我有一個簡單的表,我試圖循環並獲得每行中每個單元的值,如果它有<td>s循環遍歷錶行並獲取行中的每個值 - 找到錯誤?

但是我得到一個錯誤,說find不存在,是的jQuery添加。你能幫忙嗎?由於

$(document).ready(function() { 
    var x = $('table tr:has(td)'); 
    $.each(x, function (i, v) { 

     alert(
     v.find('td').eq(0).text()); + " ----" + v.find('td').eq(1).find('option:selected').val();); 
    }); 

}); 

<table> 
    <tbody> 
     <tr> 
      <th>a</th> 
      <th>b</th> 
     </tr> 
     <tr> 
      <td>test</td> 
      <td> 
       <select> 
        <option value="yes">yes</option> 
        <option selected="selected" value="no">no</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td>test</td> 
      <td> 
       <select> 
        <option value="yes">yes</option> 
        <option selected="selected" value="no">no</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td>test</td> 
      <td> 
       <select> 
        <option value="yes">yes</option> 
        <option selected="selected" value="no">no</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td>test</td> 
      <td> 
       <select> 
        <option value="yes">yes</option> 
        <option selected="selected" value="no">no</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
      <td>test</td> 
      <td> 
       <select> 
        <option value="yes">yes</option> 
        <option selected="selected" value="no">no</option> 
       </select> 
      </td> 
     </tr> 
    </tbody> 
</table> 
+0

在這一行中:'v.find('td')。eq(0).text()); +「----」+「分號表示它是語句的結尾,這意味着嘗試字符串連接會引發Javascript錯誤。 – 2012-07-31 12:06:57

回答

1

v是對DOM元素,所以你需要將它包裝到$功能,以鏈是另一個jQuery方法:$(v).find(...)

記:你也可以寫$(this).find(...)

1
$(document).ready(function() { 
    $('table tr:has(td)').each(function (tr) { 
     $('td', tr).each(function (td) { 
      alert($(td).text()); 
     }); 
    }); 
});