假设我有以下内容:
<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() { //...
没有成功。
答案 0 :(得分:3)
您需要将选择器分成两个匹配项:
.on('click', 'a.result-name[data-role=1], a.result-name[data-role=3]')
或者可以从回调函数中进行选择。
答案 1 :(得分:3)
使用逗号将事件附加到多个元素
$(document).on('click', 'a.result-name[data-role=1], a.result-name[data-role=3]', function() { //...
您也可以使用NotEqual
选择器!=
$(document).on('click', 'a.result-name[data-role!=2]', function() { //...
答案 2 :(得分:1)
您可能正在寻找:http://jsfiddle.net/HXq9Q/
$(document).on('click', 'a.result-name[data-role=3],[data-role=1]', function () {
// action here
});