使用jquery find查找结果集

时间:2014-09-03 17:22:45

标签: javascript jquery asp.net

当我在桌子上查找隐藏的字段时,我看到了两个隐藏的字段。但是,我想通过ID进一步细化这两个字段。我注意到当我使用“包含”在整个表上使用find时,我得到了我的2个字段。但是,如果我查找隐藏字段的查找结果,它将返回一个空集。任何人都可以解释为什么会这样吗?

    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']");

1 个答案:

答案 0 :(得分:2)

您正在寻找filter功能,而不是findfind选择子元素,filter过滤当前选择。

也没有理由找到那样的表......尝试这样的事情。

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']")
  ;