不同元素类型的name属性的jQuery选择器

Ed *_*nek 3 jquery jquery-selectors

我有一张行表.在其中一列中,某些行具有带静态文本的跨度,某些行具有可供选择的值的选择.该列中的所有元素都具有相同的名称属性.在我的表单提交中,我遍历行并想要获取所有列的值.我希望有一个jQuery选择器语句来获取该元素的值(span或select,name属性为"materialValue").我怎么用jQuery做到这一点?以下是html片段.

<table>
  <tr><td>
      <span id="materialValue1" name="materialValue>ONE</span>
  </td></tr>
  <tr><td>
      <span id="materialValue2" name="materialValue>TWO</span>
  </td></tr>
  <tr><td>
      <select id="materialValue3" name="materialValue>
        <option>ONE</option>
        <option>TWO</option>
        <option>THREE</option>
      </select>
  </td></tr>
  <tr><td>
      <select id="materialValue4" name="materialValue>
        <option>ONE</option>
        <option>TWO</option>
        <option>THREE</option>
      </select>
  </td></tr>
</table>
Run Code Online (Sandbox Code Playgroud)

编辑:我习惯于使用属性名称/值指定元素类型和方括号.我不知道如何在没有元素类型名称的情况下指定jquery选择器.例如$('span[name="materialValue"]', this).指定是否合法$('[name="materialValue"]', this)?对我来说很奇怪.

Aus*_*tin 7

您只需要一个属性选择器:

$("[name='MaterialValue']")
Run Code Online (Sandbox Code Playgroud)

此外,您name在html中的属性后缺少结束引号

在此查看参考:http: //api.jquery.com/attribute-equals-selector/

  • 要回答问题编辑:它看起来很奇怪,但它完全没问题.事实上,就像你在日常代码中没有类型或`*`选择器的情况下你已经使用`#id`或`.class`一样. (2认同)