gpt4 book ai didi

jQuery 匹配正则表达式

转载 作者:行者123 更新时间:2023-12-03 21:49:37 27 4
gpt4 key购买 nike

var playerClass = $(this).parent().attr('class')

关于仅从 dom 中选择特定类的问题。

我可以在这一行添加什么来仅选择具有player-1、player-2类的类,基本上任何带有player-前缀后跟数字的类?

最佳答案

我无法准确说出您的问题到底想问什么,所以这里有四种可能性。希望其中之一符合您想要询问的内容,或者您​​可以稍微修改其中之一以适应。

要选择类为 player-xx 的所有输入项,其中 xx 是数字,您可以执行以下操作:

var playerClass = $('input[class^="player-"]').filter(function() {
return((" " + this.className + " ").match(/\splayer-\d+\s/) != null);
});

第一个 jQuery 选择器获取以 "player-" 开头的任何类名。然后,过滤器会消除任何不属于 “player-nn” 的项目。

如果您只是想检查一个特定的类名是否包含 player-nn,那么您可以这样做:

if ((" " + $(this).parent().attr('class') + " ").match(/\splayer-\d+\s/) != null) {
// the parent has player-nn as a class
}

如果您只想获取父级上的匹配类,您可以这样做:

var matches = (" " + $(this).parent().attr('class') + " ").match(/\s(player-\d+)\s/);
if (matches) {
playerClass = matches[1];
}

如果您想实际获取 player- 之后的数字,您可以这样做:

var matches = (" " + $(this).parent().attr('class') + " ").match(/\splayer-(\d+)\s/);
if (matches) {
playerNum = parseInt(matches[1], 10);
}

注意:所有这些示例都使用了一个技巧(我从 jQuery 中学到的),如果您在整个类名的开头和结尾添加一个空格,那么您可以通过查找您的正则表达式来查找给定的类名。特定的类名两侧由空格包围。这可确保您不匹配较长类名的一部分,而只匹配整个类名。 jQuery 在它的 .hasClass() 实现中使用了这个技巧。

关于jQuery 匹配正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9882693/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com