不同元素类型的名称属性jQuery选择器
问题描述:
我有一个行表。在其中一列中,某些行具有带有静态文本的跨度,某些行具有可供选择的值的选择。该列中的所有元素都具有相同的名称属性。在我的表单提交中,我遍历行并希望获取所有列的值。我宁愿有一个jQuery选择器语句来获取该元素的值(span或select name属性为“materialValue”)。我将如何使用jQuery来做到这一点?这里是html代码片段。不同元素类型的名称属性jQuery选择器
<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>
编辑:我习惯于指定元素类型,然后用属性名/值指定方括号。我不知道如何指定没有元素类型名称的jquery选择器。例如$('span[name="materialValue"]', this)
。指定$('[name="materialValue"]', this)
是否合法?看起来很奇怪。
答
所有你需要的是一个属性选择:
$("[name='MaterialValue']")
而且,你失踪后收盘报价你的属性name
在HTML
答
就像这个...
$("[name=materialValue]") // Select element with name attribute with a specific value
属性使用括号选择。您也可以使用它像这样在其他情况下...
$("div[id]") // Select element with an id attribute
$("[name*=test]") // Select all elements with *test* in the name attribute (partial)
等。
+0
我确定这只是一个错字 – Austin 2012-07-10 18:30:35
根据'name = materialValue'创建选择器 – 2012-07-10 18:27:03
[如Andrew所说](http://api.jquery.com/attribute-equals-selector/)。 – 2012-07-10 18:28:19
使用相同的'name'属性是无效的标记。要么使用'name = whatever []' – diEcho 2012-07-10 18:29:41