gpt4 book ai didi

javascript - 如何将多个可能的正则表达式值与给定字符串进行比较

转载 作者:行者123 更新时间:2023-11-28 12:13:34 25 4
gpt4 key购买 nike

我是 javascript/jquery 的新手,我可能不知道许多可以帮助我解决问题的函数,因为我对 javascript 和 jquery 有非常基本的了解。而我正在做的项目只是为了练习。

因此,我有一个字符串想要与某些值进行比较,并且可能存在三个不同的值,这些值相互详尽。

$(".grid-item").click(function() {
var classname = $(this).attr('class');
console.log(classname); //This returns "grid-item active car-right"

var reg_class = /active checked booked/;

var what_class = classname.match(reg_class);

$(this).toggle_function(){

if(what_class == active){

}

if(what_class == checked){

}

if(what_class == booked){

}

}
});

但这不起作用,因为 match 函数将 reg_class 变量的值整体作为字符串进行比较,而 classname 变量中没有类似的内容。

我查看了这个答案,“Compare one String with multiple values in one expression”。但我无法在那里解决我的问题。

那么,如何创建一个具有三个不同可能值的正则表达式变量,然后将其与变量类名中的值进行比较。

有没有办法可以这样比较:(if classname == %active%)........这可能看起来很荒谬,但是,我不知道这是否可以在 javascript 中完成。

最佳答案

我认为在你的情况下更好的解决方案是使用 jQuery 的 .hasClass()致力于此:

$(function() {
$('.grid-item').on('click', function (e) {
if ($(this).hasClass('active')) {
console.log('active');
}
if ($(this).hasClass('checked')) {
console.log('checked');
}
if ($(this).hasClass('booked')) {
console.log('booked');
}
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="grid-item checked booked somethingelse">click me</div>

关于javascript - 如何将多个可能的正则表达式值与给定字符串进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55156544/

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