Javascript:字符串正则表达式
Javascript: string regex
我正在调用一个函数getParentElm(idStr,element)
,它接受一个id和一个元素,并搜索html树,直到它找到一个父元素,它的id等于idStr.
主叫码:
var s = "someId";
var el = getParentElm(s,element);
我希望idStr
参数与"someId"
匹配的字符串一起工作,例如"someId123"
。
I tried:
var s = "/someId/";
,但它没有工作。理想情况下,我不想触碰getParentElm
函数。
更新:谢谢vbranden。我尝试:var s =/someId/,这工作。我给你的评论点了赞。谢谢大家
不需要正则表达式
使用closest
来遍历dom,使用id*
来匹配包含idStr
的id。
function getParentElm(idStr,element){
return $(element).closest('[id*="' + idStr + '"]');
}
这里,它应该工作:
function getParentElm(idStr,element) {
var patt = new RegExp(idStr +".*");
while(element.parentNode)
{
if(patt.test(element.parentNode.id))
return element.parentNode;
element=element.parentNode;
}
return false;
}
然后这样调用函数:
var el = getParentElm("someId",document.getElementById('foo'));
相关文章:
- 将电子邮件验证正则表达式字符串存储在JSON中
- 带有模式的正则表达式字符串
- Javascript if数组包含正则表达式字符串
- 在JSON中指定正则表达式字符串,在JavaScript和PHP中使用
- 从正则表达式文本中获取正则表达式字符串表示的最佳方式
- 正则表达式 - 字符串不能以空格开头,以空格结尾,并且连续包含几个空格
- 正则表达式 - 字符串不应包含超过 7 位数字
- 在 javascript 中将正则表达式字符串转换为正则表达式不同
- Javascript:测试单个字符在正则表达式字符串中找到
- 正则表达式(字符串比较)
- 是否可以生成与正则表达式字符串匹配的字符串
- 正则表达式字符串匹配
- 正则表达式字符串比较忽略符号
- 是否可以使用正则表达式解析正则表达式字符串
- 正则表达式字符串在文档中替换为 JavaScript
- 如何使正则表达式字符串拒绝空白字段
- 拆分正则表达式字符串
- 表示正则表达式字符串表示法
- 将HTML标记添加到此正则表达式字符串中
- 将正则表达式字符串转换为javascript中的正则表达式对象