2

重複の可能性:
複数の値の jQuery 属性セレクター

次のものがあるとします。

<a href="#" class="result-name" data-role="1" data-obj-id="15">Obj 15</a>
<a href="#" class="result-name" data-role="3" data-obj-id="19">Obj 19</a>
<a href="#" class="result-name" data-role="2" data-obj-id="20">Obj 20</a>

今、私は次のようなことをしています:

$(document).on('click', 'a.result-name', function() {
  var objId = $(this).data('obj-id');
  // do some ajax call...
});

ここで、ロール 1 または 3 のリンクにのみこの動作を追加するよう呼び出したい場合、セレクターでそれを実行するにはどうすればよいですか?

私は試した:

$(document).on('click', 'a.result-name[data-role=1|3]', function() { //...

成功せずに。

4

3 に答える 3

3

セレクターを 2 つの一致に分ける必要があります。

.on('click', 'a.result-name[data-role=1], a.result-name[data-role=3]')

または、コールバック関数内から選択することもできます。

于 2013-01-11T11:33:11.840 に答える
3

カンマを使用してイベントを複数の要素に関連付ける

$(document).on('click', 'a.result-name[data-role=1], a.result-name[data-role=3]', function() { //...

http://jsfiddle.net/RSwMw/2/

NotEqualまた、セレクターを使用することもできます!=

$(document).on('click', 'a.result-name[data-role!=2]', function() { //...

http://jsfiddle.net/RSwMw/1/

于 2013-01-11T11:33:15.963 に答える
1

これを探しているかもしれません: http://jsfiddle.net/HXq9Q/

$(document).on('click', 'a.result-name[data-role=3],[data-role=1]', function () {
 // action here
});
于 2013-01-11T11:42:32.447 に答える