【问题标题】:how to get elements by name using jquery?如何使用 jquery 按名称获取元素?
【发布时间】:2011-11-07 02:36:04
【问题描述】:

如何在不使用 id 或 class 的情况下使用 jquery 按名称获取 html 元素?有什么办法吗?

【问题讨论】:

  • 举一个你想要在其中检索对象的 HTML 示例。保存“按名称”时是否询问“名称”属性?

标签: jquery elements


【解决方案1】:

应该知道,给出的唯一正确答案是在属性值周围包含引号的答案,即。

$("[name='value']")

在值周围包含引号是强制性要求,请参阅:http://api.jquery.com/attribute-equals-selector/

如果您在引用节点名称或“标签”时使用“名称”,则只需按该字符串进行选择:

$("div")
$("a")
$("p")
$("input")
$("body")

【讨论】:

  • +1 表示“必须在值周围包含引号”。如果名称类似于“files[]”,这一点尤其重要。
【解决方案2】:

使用这个:

$('[name=thename]');

注意:出于性能考虑,最好指定标签名称。因此,如果您正在寻找名称为“冬天”的图像,您将使用这个:

$('img[name=winter]');

【讨论】:

  • @sasola:你为什么这么说?我有办法证明这一点:jsfiddle.net/EbwtP
  • 我们总是把价值放在引号里 :)
  • @sasola:这在您的 HTML 标记中,因为您想使用 xHTML,但在您的 CSS 选择器中没有区别(除非您的属性值中有空格)。
【解决方案3】:

不确定您是指标签名称还是命名属性。所以这里都是-

属性等于选择器 [name="value"]

http://api.jquery.com/attribute-equals-selector/

或 元素选择器(“元素”)

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

// name attribute selector
$('[name=whatever]').each(function(index) {
  alert(index);
  // and of course depending on your element utilize $(this).doSomethingCool
});

// tag name selector for all h1 tags
$('h1').each(function(index) {
  alert(index);
  // and of course depending on your element utilize $(this).doSomethingCool
});

【讨论】:

    【解决方案4】:

    如果你指的是 name 属性,就是这样:

    $('[name="value"]')
    

    如果你指的是元素名称,那么它是这样的:

    $('ul')
    

    【讨论】:

      【解决方案5】:
      $('tagName')...
      

      为<tagName />

      或

      $('[name="attributeName"]')...
      

      为<input name="attributeName" />

      jQuery 选择器的工作方式类似于 CSS 选择器。

      【讨论】:

      • 这是为了获取值$('[name="attributeName"]').val();,或者如果您收集多个输入的同名值$('[name="attributeName\[\]"]').serialize();,请使用序列化
      【解决方案6】:

      在 jQuery 中,除了 id 和 class 之外,您还可以使用很多东西。 CSS3 selector specification 充满了其他你可以使用的东西,我相信 jQuery 甚至还有更多的东西。例如,您可以使用标签类型、属性值、层次结构中的位置。这些都是有效的 jQuery 选择器对象:

      $("div")
      $("div span")
      $("[name=nyName]");
      $("div span [name=nyName]");
      $("ul li [name=nyName]");
      

      在许多情况下,使用基于标签类型、id 值和类名的选择器可以获得更好的性能,因为许多浏览器都支持在本机代码中搜索。

      【讨论】:

        【解决方案7】:

        可能是这样的:$('div[name="element_name"]')。

        或其他元素类型,如:

        img:$('img[name="element_name"]')

        td:$('td[name="element_name"]') ...

        【讨论】:

          【解决方案8】:

          按名称获取元素

          $("div")
          

          DEMO

          【讨论】:

            【解决方案9】:

            要获取值,我们可以使用多个属性,其中之一是名称属性。例如

            $("input[name='nameOfElement']").val();
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2018-07-13
              • 2010-11-09
              • 1970-01-01
              • 1970-01-01
              • 2012-05-05
              • 1970-01-01
              相关资源
              最近更新 更多