jQuery OR运算符?

时间:2014-01-17 00:04:06

标签: javascript jquery jquery-selectors

我想检查某个元素是否具有datadata-youtube-id的{​​{1}}属性,并根据该属性运行(基本上阻止链接跟进)。

如何一次检查这两个属性?

这就是我正在使用它并且它无法正常工作:

HTML

data-youtube-id

的jQuery

<a href="#" data-youtube-id="xxxxxx">link title 1</a>
<a href="#" data-vimeo-id="xxxxxx">link title 2</a>

我也使用$('a').click(function(e) { if ($(this).data('youtube-id, vimeo-id')) { e.preventDefault(); } }); 代替attr();尝试了类似的jQuery(也没用):

data();

1 个答案:

答案 0 :(得分:4)

使用has attribute selectoris()

if ($(this).is('[data-youtube-id], [data-vimeo-id]')){
}

data(string)&amp; attr(string)是getter方法,它获取所述数据/属性值的值


正如@Brilliand所说,你可以在注册点击处理程序之前过滤掉元素..如果这是你完整的点击处理程序代码

$('a').filter('[data-youtube-id], [data-vimeo-id]').click(function (e) {
    e.preventDefault();
});