是否可以在Javascript onclick事件(HTML)中使用正则表达式?

是否可以在Javascript onclick事件(HTML)中使用正则表达式?,javascript,html,regex,jquery-events,Javascript,Html,Regex,Jquery Events,我的问题很简单,但我找不到真相。 是否可以在Javascriptonclickevent(HTML)中使用正则表达式 例如,是否可以使用regex显示具有不同id但具有相同标记的div: 分区s: 我担心Javascriptonclick事件中的正则表达式语法。 可能吗?如何才能做到这一点? 这是我个人的问题 编辑: 好的,我现在知道我可以使用: onclick=`$('div[id*="{{site.City}}"]').show();` 但是如果{{site.City}

我的问题很简单,但我找不到真相。 是否可以在Javascript
onclick
event(HTML)中使用正则表达式
例如,是否可以使用regex显示具有不同id但具有相同标记的div:

分区s:

我担心Javascript
onclick
事件中的正则表达式语法。
可能吗?如何才能做到这一点?
这是我个人的问题

编辑:
好的,我现在知道我可以使用:

onclick=`$('div[id*="{{site.City}}"]').show();`
但是如果
{{site.City}
是一个链变量,我该怎么办呢?
即使使用django字典变量,
onclick
中循环的语法是什么?

这不是主题。据我所知,这仍然是一个问题。

尝试使用类选择器:

<div class='zone site-city' id='{{site.City}}'>
<div class='zone site-city' id='{{site.City}}{{immo.CodeImmo}}'>
<div class='zone site-city' id='{{site.City}}{{sth else}}'>

<a onclick='$(".site-city").show();'>Some anchor</a>
编辑2:如果确实需要基于复杂模式匹配元素,则可能需要分两步进行:

$("div.zone").filter(function () {
    return /your regex here/.test($(this).attr('id'));
}).show();

尝试使用类选择器:

<div class='zone site-city' id='{{site.City}}'>
<div class='zone site-city' id='{{site.City}}{{immo.CodeImmo}}'>
<div class='zone site-city' id='{{site.City}}{{sth else}}'>

<a onclick='$(".site-city").show();'>Some anchor</a>
编辑2:如果确实需要基于复杂模式匹配元素,则可能需要分两步进行:

$("div.zone").filter(function () {
    return /your regex here/.test($(this).attr('id'));
}).show();

据我所知,在jQuery选择器中使用正则表达式是不可能的。但是,您可以对这些ID使用css选择器。这将使所有
div
s与包含“
{{{site.City}}
”的id匹配

这将使onClick属性如下所示(注意不同的引号):

如果希望
id
s以
{{site.City}}
开头,请使用:

div[id^="{{site.City}}"]

有关选择器的更多详细信息可以在上找到。

据我所知,在jQuery选择器中使用正则表达式是不可能的。但是,您可以对这些ID使用css选择器。这将使所有
div
s与包含“
{{{site.City}}
”的id匹配

这将使onClick属性如下所示(注意不同的引号):

如果希望
id
s以
{{site.City}}
开头,请使用:

div[id^="{{site.City}}"]


有关选择器的更多详细信息,请参见。

为什么不使用类名附加事件处理程序?以a为例,即
$('.zone')
。您似乎不需要正则表达式,您可以使用以选择器开头的属性。我不使用选择器和类,因为对于同一个类,我需要不同的事件,这就是我使用id的原因。我使用类做了我想做的,但只是想知道如何使用id和regex@Stages:那就用另一门课吧。或者
data
为什么不直接使用类名附加事件处理程序呢?例如,
$('.zone')
,您可以使用以选择器开头的属性。我不使用选择器和类,因为对于同一个类,我需要不同的事件,这就是我使用id的原因。我使用类做了我想做的,但只是想知道如何使用id和regex@Stages:那就用另一门课吧。或者
data
thx我知道这是可行的,但它没有回答我的问题。我很担心仅仅使用id或者regex来做这件事是如何起作用的。好的,thx,这和@marklanger的想法是一样的。那么我如何知道site.City是否是字符链变量呢?例如:纽约、芝加哥、洛杉矶、丹佛。。。我不想只展示芝加哥和纽约的东西?您认为在onclick事件中可以使用for吗?是的,但是只有在
id
属性前面加上前缀,例如:
id='city-{{site.city}}'
之后,您才能
onclick='$(“[id^='city-]”)show();'。但是,我强烈建议您使用类,因为它们是为解决像您这样的问题而发明的。我同意这样做更简单。因此,在onclick事件中不可能使用任何不同类型的循环(例如,while)?thx我知道这是可行的,但它没有回答我的问题。我很担心仅仅使用id或者regex来做这件事是如何起作用的。好的,thx,这和@marklanger的想法是一样的。那么我如何知道site.City是否是字符链变量呢?例如:纽约、芝加哥、洛杉矶、丹佛。。。我不想只展示芝加哥和纽约的东西?您认为在onclick事件中可以使用for吗?是的,但是只有在
id
属性前面加上前缀,例如:
id='city-{{site.city}}'
之后,您才能
onclick='$(“[id^='city-]”)show();'。但是,我强烈建议您使用类,因为它们是为解决像您这样的问题而发明的。我同意这样做更简单。因此,在onclick事件中不可能使用任何不同类型的循环(例如,while)?是的,这是一个好主意,但这里有一个问题:您应该知道该站点。City用于具有多个城市的列表/词汇表,因此如何使用这种选择器仅选择(例如)5上的2个城市?顺便说一句,这座城市还有其他什么。我知道这有点奇怪。是的,这是一个好主意,但这里有一件事:你应该知道那个网站。城市是一个列表/词汇列表,有几个城市,所以我如何使用这种选择器只选择(例如)5上的2个城市?顺便说一句,这座城市还有其他什么。我知道这有点古怪。
onclick=`$('div[id*="{{site.City}}"]').show();`
div[id^="{{site.City}}"]