jQuery - 如何按属性选择

时间:2012-02-09 11:30:08

标签: javascript jquery html

我有这样的HTML,

<a id="a_1" href="#" disabled_onclick="true">Link1</a>
<a id="a_2" href="#">Link2</a>
<a id="a_3" href="#" disabled_onclick="true">Link3</a>
<input id="b_1" type="submit" disabled_onclick="true">Button1</input>
<input id="b_2" type="submit">Button2</input>
<input id="b_3" type="submit">Button3</input>

现在我需要编写一个jQuery,它返回我的html中的所有属性,其中disabled_onclick属性设置为true。在这种情况下,我应该得到3个元素,两个链接标记和一个输入标记。

3 个答案:

答案 0 :(得分:10)

Here如何选择所有这些元素:

$('[disabled_onclick="true"]');

true is a valid unquoted attribute value in CSS起,您甚至可以omit the quotes

$('[disabled_onclick=true]');

如果您关心有效的HTML,则应考虑使用自定义data-*属性。

<input id="b_1" type="submit" disabled_onclick="true">
<!-- …becomes… -->
<input id="b_1" type="submit" data-disabled-onclick="true">

这样它就是有效的HTML,你仍然可以按如下方式选择它:

$('[data-disabled-onclick="true"]');

答案 1 :(得分:4)

试试这个

$('[disabled_onclick="true"]')

答案 2 :(得分:1)

$('input[disabled_onclick="true"]');

请参阅http://api.jquery.com/attribute-equals-selector/

在上面一行中,您只查询input nodes,您可以省略input,然后查询整个标记中的所有节点(这可能有点慢)

$('[disabled_onclick="true"]');