【问题标题】:JQuery selectors don't workJQuery 选择器不起作用
【发布时间】:2016-02-16 16:03:21
【问题描述】:

我的页面上有以下输入:

<input type="text" name="r1" />

我正在尝试使用 JQuery 选择它,使用 $("[name='r1']"),由于某种原因它返回 null。好的,好的,标题具有误导性,因为是我做错了;你能告诉我什么吗?

编辑:

$('input[name="r1"]') 也不起作用。另外,抱歉打错了。

【问题讨论】:

  • 你是在元素渲染后引用它吗?
  • 您的示例中的名称是“r1”而不是“r2”是这里的错字还是您尝试选择的代码中有“r2”?
  • -通过单击我的答案中的链接检查小提琴上的工作演示......它工作正常......
  • 如果选择器似乎不起作用,可能是因为您试图在页面实际(完全)加载之前找到它们。确保在文档加载后运行用于查找元素的 jQuery 代码 $(document).ready(function() {... }

标签: javascript jquery html jquery-selectors


【解决方案1】:

上次编辑

Working DEMO

HTML 代码

<input type="text" name="r1" />​

jQuery 代码

$(document).ready(function() {
   alert($('input[name="r1"]').length);
});​

旧更新

您在这里遇到拼写错误,您正在尝试查找不存在的 r2 元素,只需更新代码,如 $("[name='r1']")

要找到正确的方法,您应该按照以下方式进行操作

$("input[name='r2']") 而不是仅$("[name='r2']")

编辑

根据您编辑的问题,您应该在这里查看示例:Attribute Equals Selector [name="value"]

编辑

为了正确检查你可以这样做

$(document).ready(function() {
   alert($('input[name="r1"]').length);
});

【讨论】:

  • 注意input[name='r2'] 之间的空格。它将触发后代选择器,即它将匹配 name 属性为 r2 并且是 &lt;input&gt; 元素的后代的元素,而不是 &lt;input&gt; 元素本身,因为 input[name='r2'] 会这样做。
  • @Bluefire - 通过单击我的答案中的链接检查小提琴上的工作演示......它工作正常......
【解决方案2】:

刚刚做了一个快速测试:

<input type="text" name="r1" />​

使用以下 Javascript

$('input[name=r1]').click(function(e){
  alert('found');
});​

效果很好!

【讨论】:

    【解决方案3】:

    你没有告诉 jQuery 你在寻找什么元素,那就是你input

    试试这个方法

    $('input[name=r1]')

    【讨论】:

    • input 不是必需的,除非有多个元素的name 属性为r1/r2
    【解决方案4】:

    我认为选择器是错误的。应该是 r1 而不是 r2

    jsFiddle

    $("[name=r1]")
    

    【讨论】:

      【解决方案5】:

      您需要包含属性过滤器的 html 标记。

      $("input[name='r2']");
      

      有关属性选择器的更多信息,请参阅this 链接。

      【讨论】:

        【解决方案6】:

        它肯定会起作用:

        $("*[name='r1']")
        

        【讨论】:

          【解决方案7】:

          在这种情况下,您可以同时使用 $("[name='r1']")$('input[name="r1"]')

          如果您想选择任何属性名为“name”等于“r1”的元素,请使用$("[name='r1']")

          如果您只想选择属性名为“name”等于“r1”的input元素,请使用$('input[name="r1"]')

          更多 JQuery 属性填充示例列在here

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2016-12-19
            • 2015-03-25
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-02-02
            • 1970-01-01
            相关资源
            最近更新 更多