jQuery选择所有以“o”开头并后跟数字的元素

Posted

技术标签:

【中文标题】jQuery选择所有以“o”开头并后跟数字的元素【英文标题】:jQuery select all element starting with "o" and followed by number 【发布时间】:2014-11-22 07:45:43 【问题描述】:

我想在某个 div 上添加事件。对象是当用户将鼠标放在 div 上时,做某事,当他的鼠标退出我的 div 时做其他事情。我想在每个 div 上添加该事件,以“0”开头,后跟一个数字。但问题是我无法访问 jQuery 官方文档,而且我找不到使用 Google 的正确方法。 我认为:

$('div[id^="o"]')

它可以工作,但我想确保它只选择正确的 div,而不是其他以 o 开头且不直接跟数字的 div。

做我的活动可以这样吗?

$(the right selector).each(function whenMouseEnter(element,id), function whenMouseExit(element,id));

【问题讨论】:

【参考方案1】:

由于 jQuery 的选择器缺少正则表达式函数,您需要使用 filter() 显式测试每个找到的元素的 id

$('div[id^="o"]').filter(function () 
    return (/^o\d/).test(this.id);
).hover(function () 
    // mouse over
, function () 
    // mouse leave
);

参考资料:

javascriptRegExp()RegExp.prototype.test(); jQuery: filter()hover()

【讨论】:

漂亮的答案,我现在就试试这个。非常感谢 我可以在函数中添加 2 个变量 element 和 id 来引用实际的 div 吗? 是的,如果你愿意的话;你想做什么? 我必须在鼠标悬停时显示/隐藏一个子元素,但在您的帮助下,它就像我想要的那样完成了。再次感谢您

以上是关于jQuery选择所有以“o”开头并后跟数字的元素的主要内容,如果未能解决你的问题,请参考以下文章

jQuery或CSS选择器选择以某个字符串开头的所有ID [重复]

具有以字符串开头的属性的元素的 jQuery 选择器

jquery笔记之属性选择器 查找以某种条件开头的页面元素

字符串的正则表达式以数字开头,后跟 + 字符

如何仅获取以“1”开头的文件中的第一行。后跟除数字以外的任何字符?

jquery笔记之属性选择器 查找以某种条件开头的页面元素