我正在使用 :regex 库(找到 here )来选择 ID 以 P 开头且后面至少有 5 位数字的元素。然后,我使用 .attr 添加一些属性。
$(document).ready(function() {
$('img:regex(id,P[0-9][0-9][0-9][0-9]+)').attr("onmouseover", "show\(this\,2\,0\)");
$('img:regex(id,P[0-9][0-9][0-9][0-9]+)').attr("onmouseout", "hide\(this\)");
});
这适用于 Firefox,但不适用于 Chrome。 (尚未测试 IE。)
我尝试使用 [0].setAttribute 代替,它在一定程度上有效,但由于某种原因它只选择正则表达式的第一个实例。
有人有更兼容的解决方案吗?
最佳答案
无论该插件做什么,它看起来都非常慢。我宁愿建议选择所有图像节点,然后使用 jQuery .filter()
help 过滤它们,这必须更快,而且我认为它仍然更具可读性。可能看起来像:
$('img').filter(function(index) {
return this.id.charAt(0) === 'P' && !isNaN(this.id.slice(1,6));
}).hover(function() {
$(this).show();
}, function() {
$(this).hide();
});
关于javascript - JQuery .attr 在 Chrome 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4926706/