如何查找表中包含的输入标记

时间:2013-08-23 21:06:52

标签: jquery html

我对find方法有疑问。

我希望能够识别包含input标记的单元格。

我的HTML就像

<table>
   <tr>
      <td> celll </td>
      <td> celll </td>
      <td> celll </td>
   </tr>
   <tr>
      <td> celll </td>
      <td> <span><input type='text'></span> </td>
      <td> <span><input type='text'></span> </td>
   </tr>
</table>

我的Jquery

$('table').find('td').each(function(){
          if($(this).find("input").length){
             console.log('found')
          }
      })

我的代码似乎找不到它。有小费吗?非常感谢!

4 个答案:

答案 0 :(得分:1)

不要使用.find()两次,只需使用一次并获取.closest()单元格:

$('table').find('input').each(function(){
    var parent = $(this).closest('td');
    //do something with parent
});

样本: http://jsfiddle.net/dirtyd77/kdL97/

答案 1 :(得分:0)

只需使用:$('table input').parents('td');

JSFiddle:http://jsfiddle.net/aPjwE/

答案 2 :(得分:0)

尝试

$("table td:has(input)").each(...)

http://api.jquery.com/has-selector/

小提琴http://jsfiddle.net/tarabyte/wM2Tg/1/

答案 3 :(得分:0)

var cells = $('table').find('td');

$.each(cells, function(i){
  var that = $(this);
  var hasInput = that.find("input");
    if(hasInput.length > 0){
        console.log("td #" + i + " has an input sire.");
    }
});