可以在Javascript的onclick事件(HTML)中使用正则表达式
It is possible to use regex in Javascript onclick event (HTML)?
我的问题很简单,但我找不到真相。是否可以在Javascript onclick
事件(HTML)中使用正则表达式?
例如,是否可以使用regex:
div年代:
<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
事件中的regex语法。
这可能吗?怎么可能做到呢?
这是一个关于我个人的问题。
编辑:
现在我知道我可以使用:
onclick=`$('div[id*="{{site.City}}"]').show();`
但我该怎么做,如果{{site.City}}
是一个链式变量?
什么是在onclick
循环的语法,甚至与django字典变量?
这不是主题。
据我所知,在jQuery选择器中不可能使用RegEx。但是,您可以对这些id使用css选择器。这将匹配id包含" {{site.City}}
"的所有div
。
div[id*="{{site.City}}"]
这将使你的onClick属性看起来像这样(注意不同的引号):
onclick=`$('div[id*="{{site.City}}"]').show();`
如果您希望id
s以{{site.City}}
开头,请使用:
div[id^="{{site.City}}"]
关于选择器的更多细节可以在MDN页面找到
尝试使用类选择器:
<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>
EDIT: AFAIK这是不可能使用jQuery正则表达式作为选择器。最接近的方法是使用" begin -with" ([attr^=start]
)和"end -with" ([attr$=end]
)选择器,在您的情况下是:
onclick='$("[id^='{{site.City}}']").show();'
EDIT 2:如果真的需要基于复杂的模式匹配元素,那么您可能需要分两步完成:
$("div.zone").filter(function () {
return /your regex here/.test($(this).attr('id'));
}).show();
相关文章:
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 正则表达式,用于从html格式的字符串中提取文本
- JS 正则表达式以匹配 HTML 标记中不是 的字符串
- 用于提取 HTML 标记子元素的正则表达式
- 用于比较 HTML 标记内的变量的正则表达式
- 使用正则表达式删除所有 html 属性(替换)
- 突出显示与perl正则表达式匹配的HTML部分 - 在服务器端perl或客户端javascript中执行此操作
- 使用正则表达式进行HTML、javascript表单检查
- Javascript正则表达式,用于去除选择性html标记
- 使用正则表达式修改html的文本(使用javascript)
- 我该如何编写一个正则表达式来捕获具有特定类的HTML表
- 使用 JavaScript 正则表达式获取所有没有 HTML 标签的单词
- 使用JavaScript正则表达式从html srcset获取图像url
- JMeter-正则表达式提取器-多行html
- 正则表达式以避免HTML标记和空值
- Javascript/Jquery.使用带通配符的正则表达式将纯文本替换为html
- 正则表达式来隔离html标记
- 将正则表达式加粗为HTML中的匹配项
- 正则表达式捕获html标记中的单词
- HTML 正则表达式验证在十进制输入上仅限制一个句点