Javascript 对find的结果集使用jqueryfind

Javascript 对find的结果集使用jqueryfind,javascript,jquery,asp.net,Javascript,Jquery,Asp.net,当我在表中查找隐藏字段时,我看到了两个隐藏字段。但是,我想通过ID进一步细化这两个字段。我注意到,当我使用“contains”在整个表上使用find时,我得到了两个字段。但是,如果我对隐藏字段的查找结果进行查找,它将返回一个空集。有人能解释为什么会这样吗 var table = sender.parentNode.parentNode.parentNode.parentNode; // this finds my 2 hidden fields var hidden_

当我在表中查找隐藏字段时,我看到了两个隐藏字段。但是,我想通过ID进一步细化这两个字段。我注意到,当我使用“contains”在整个表上使用find时,我得到了两个字段。但是,如果我对隐藏字段的查找结果进行查找,它将返回一个空集。有人能解释为什么会这样吗

    var table = sender.parentNode.parentNode.parentNode.parentNode;
     // this finds my 2 hidden fields
     var hidden_fields = $(table).find("input[type='hidden']");
     // this finds each of the 2 fields individually by ID
     var my_id_fieldA = $(table).find("[id*='hfMyIdFieldA']");
     var my_id_fieldB = $(table).find("[id*='hfMyIdFieldB']");

     // but this returns an empty set
     var my_id_fieldA = $(hidden_fields).find("[id*='hfMyIdFieldA']");

您要查找的是
过滤器
函数,而不是
查找
<代码>查找选择子元素,而
筛选
筛选当前选择

也没有理由找到这样的桌子。。。试试这样的

var $table = $(sender).closest("table")
  , $hidden_fields = $table.find("input[type='hidden']")
  , $my_id_fieldA = $hidden_fields.filter("[id*='hfMyIdFieldA']")
  , $my_id_fieldB = $hidden_fields.filter("[id*='hfMyIdFieldB']")
  , $my_id_fieldA = $hidden_fields.filter("[id*='hfMyIdFieldA']")
  ;

$(隐藏的\u字段)。查找(任何内容)
没有意义,因为
元素不是容器-它们不能有子元素。。。。最后,
hidden\u fields
已经是一个jQuery对象,您不需要包装它:
hidden\u fields.jQueryMethod()
就足够了。