可以在 Javascript onclick 事件 (HTML) 中使用正则表达式吗?
It is possible to use regex in Javascript onclick event (HTML)?
我的问题很简单,但我找不到真相。
可以在 Javascript onclick
事件 (HTML) 中使用正则表达式吗?
例如,是否可以使用正则表达式显示具有不同 id 但相同标签的 div :
div s:
<div class='zone' id='{{site.City}}'>
<div class='zone' id='{{site.City}}{{immo.CodeImmo}}'>
<div class='zone' id='{{site.City}}{{sth else}}'>
javascript regex :
onclick='$("#/^{{site.City}}./").show();'
我担心 Javascript onclick
事件中的正则表达式语法。
可能吗?以及如何做到这一点?
这个问题是我个人的知识。
编辑:
好的,我现在知道我可以使用了:
onclick=`$('div[id*="{{site.City}}"]').show();`
但是{{site.City}}
是链变量怎么办?
即使使用 django 字典变量,onclick
中循环的语法是什么?
这不是主题。它仍然是我的知识。
尝试使用 class 选择器:
<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>
编辑: 据我所知,jQuery 无法使用正则表达式作为选择器。最接近的方法是使用 "starts-with" ([attr^=start]
) 和 "ends-with" ([attr$=end]
) 选择器,在您的情况下是:
onclick='$("[id^='{{site.City}}']").show();'
编辑 2: 如果您 真的 需要根据复杂模式匹配元素,那么您可能需要分两步完成:
$("div.zone").filter(function () {
return /your regex here/.test($(this).attr('id'));
}).show();
据我所知,不可能在 jQuery 选择器中使用 RegEx。但是,您可以为这些 ID 使用 css 选择器。这将匹配 ID 包含“{{site.City}}
”的所有 div
。
div[id*="{{site.City}}"]
这将使您的 onClick 属性看起来像这样(注意不同的引号):
onclick=`$('div[id*="{{site.City}}"]').show();`
如果您希望 id
以 {{site.City}}
开头,请使用:
div[id^="{{site.City}}"]
有关选择器的更多详细信息,请参见 MDN page。
我的问题很简单,但我找不到真相。
可以在 Javascript onclick
事件 (HTML) 中使用正则表达式吗?
例如,是否可以使用正则表达式显示具有不同 id 但相同标签的 div :
div s:
<div class='zone' id='{{site.City}}'>
<div class='zone' id='{{site.City}}{{immo.CodeImmo}}'>
<div class='zone' id='{{site.City}}{{sth else}}'>
javascript regex :
onclick='$("#/^{{site.City}}./").show();'
我担心 Javascript onclick
事件中的正则表达式语法。
可能吗?以及如何做到这一点?
这个问题是我个人的知识。
编辑:
好的,我现在知道我可以使用了:
onclick=`$('div[id*="{{site.City}}"]').show();`
但是{{site.City}}
是链变量怎么办?
即使使用 django 字典变量,onclick
中循环的语法是什么?
这不是主题。它仍然是我的知识。
尝试使用 class 选择器:
<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>
编辑: 据我所知,jQuery 无法使用正则表达式作为选择器。最接近的方法是使用 "starts-with" ([attr^=start]
) 和 "ends-with" ([attr$=end]
) 选择器,在您的情况下是:
onclick='$("[id^='{{site.City}}']").show();'
编辑 2: 如果您 真的 需要根据复杂模式匹配元素,那么您可能需要分两步完成:
$("div.zone").filter(function () {
return /your regex here/.test($(this).attr('id'));
}).show();
据我所知,不可能在 jQuery 选择器中使用 RegEx。但是,您可以为这些 ID 使用 css 选择器。这将匹配 ID 包含“{{site.City}}
”的所有 div
。
div[id*="{{site.City}}"]
这将使您的 onClick 属性看起来像这样(注意不同的引号):
onclick=`$('div[id*="{{site.City}}"]').show();`
如果您希望 id
以 {{site.City}}
开头,请使用:
div[id^="{{site.City}}"]
有关选择器的更多详细信息,请参见 MDN page。