【发布时间】:2013-05-13 12:11:18
【问题描述】:
我有这个东西
<table>
<tr>
<td>
foo
</td>
<td>
<a href="#" data-action:edit="1">[EDIT]</a>
<a href="#" data-action:delete="1">[DEL]</a>
</td>
</tr>
<tr>
<td>
bar
</td>
<td>
<a href="#" data-action:edit="2">[EDIT]</a>
<a href="#" data-action:delete="2">[DEL]</a>
</td>
</tr>
<tr>
<td>
foobar
</td>
<td>
<a href="#" data-action:edit="3">[EDIT]</a>
<a href="#" data-action:delete="3">[DEL]</a>
</td>
</tr>
</table>
而且我能够通过这个选择器获取单个属性:
$('[data-action\\:edit]') 或$('[data-action\\:delete]')
如何获取所有data-action:* 元素?
【问题讨论】:
-
也许我记错了,但
action:edit和action:delete不是无效的 HTML 属性吗? -
HTML 5 明确允许以数据开头的自定义属性。因此,例如,
<p data-date-changed="Jan 24 5:23 p.m.">Hello</p>是有效的。这只是本案的一个例子。 stackoverflow.com/questions/992115/custom-attributes-yea-or-nay -
我知道
data-*属性(我认为它们是一种错误的方法,但这是另一回事)。如果你使用它们,你可以在 jQuery 中使用.data来解决你的问题。如果我是你,我会考虑使用 KnockoutJS 或 EmberJS 或 AngularJS 而非 jQuery 来处理这类事情。
标签: jquery jquery-selectors selector css-selectors