【问题标题】:jquery css selector using input type Errorjquery css选择器使用输入类型错误
【发布时间】:2014-09-09 13:33:16
【问题描述】:

我想弄清楚为什么下面的 jquery 代码会导致错误

 var table = $(sender).closest("table")[0];
 var trk_begin_field = $(table).find('.myClass:input');

我在 Chrome 调试器中看到以下 DOM 异常:

无法对“元素”执行“querySelectorAll”:“[id='myTable'] .myClass:input' 不是有效的选择器。”

id 的右括号和类名之间似乎有一个额外的空格。不确定它是如何进入那里的,或者这是否是导致错误的原因。

【问题讨论】:

  • 也添加你的 html :)
  • 您使用的是什么版本的 jQuery?你能创建一个MCVE 吗?这似乎有效:jsbin.com/xujohe/1(我还尝试了 jQuery 2.x,以防他们删除了:input 伪选择器。)
  • 请创建一个小提琴来演示问题

标签: javascript jquery css jquery-selectors


【解决方案1】:

如果你想在表中获取特定类名的输入,你可以这样做:

 var table=$("table"); //cast your table here
  table.find("input.a").each(function(){
  $(this).val("triggered");
  //input.b will be skipped
 });

jsfiddle samplehttp://jsfiddle.net/84nucpxm/1/

【讨论】:

    【解决方案2】:

    我需要使用

    var trk_begin_field = $(table).find('.myClass').filter('input');
    

    【讨论】:

    • 由于该字段是一个 元素,因此您不能在其上使用 find(),您需要使用 filter()。
    • 请使用您问题上的编辑链接添加其他信息。 “发布答案”按钮应仅用于问题的完整答案。
    • @BhushanKawadkar 这看起来像是对我的(尝试)回答。可能需要进一步澄清,但仍然......
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签