一尘不染

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中的所有属性都设为disable_onclick属性设置为true。在这种情况下,我应该获得3个元素,两个链接标签和一个输入标签。


阅读 394

收藏
2020-05-10

共1个答案

一尘不染

这里的如何选择所有这些元素:

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

由于true是CSS中有效的未加引号的属性值,因此您甚至可以省略引号:

$('[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"]');
2020-05-10