javascript - 如何使用 javascript 和 regex 从标签 div 获取 id 值?

标签 javascript jquery regex

我有这个示例代码:

<div id="click-test-1">Click test 1</div>
<div id="click-test-2">Click test 2</div>

在 jQuery 中我使用以下代码:

jQuery("div[id^=\'click-test\']").click(...);

如何在基本 JavaScript 中获得相同的效果?

最佳答案

所以您希望在普通 Javascript 中执行此操作,而不加载 jQuery 库?因为 jQuery 就是 Javascript。

如果您不必担心支持旧版浏览器(特别是 IE7 及以下版本),您可以使用 document.querySelector (获取单个匹配元素)或 document.querySelectorAll (获取所有匹配元素的数组)通过 CSS 选择器查找元素:

var elems = document.querySelectorAll("div[id^=\'click-test\']")
for (var i=0; i<elems.length; ++i) {
    elems[i].click()  
    // Note that click() is also browser/element-type-dependent without jQuery
}

如果您确实需要担心支持其他浏览器,那么确实没有办法,只能执行 document.getElementsByTagName('div') ,然后循环检查结果,对照每个元素的 id正则表达式。

var elems = document.getElementsByTagName('div')
for (var i=0; i<elems.length; ++i) {
    if (elems[i].id.match(/^click-test/)) {
        elems[i].click()
    }
}

在查找前缀的特定情况下,您可以使用 Gabe 的子字符串测试而不是正则表达式。

关于javascript - 如何使用 javascript 和 regex 从标签 div 获取 id 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13456314/

相关文章:

javascript - Uploadcare 通过 API 删除问题

javascript - React JS (JSX) div 不渲染,除非将文本添加到 div

具有两个或多个符号的 Java 正则表达式问题

regex - 仅当字符串中没有 "\r\n"时才替换 "."的正则表达式

javascript - React Page 建议将逻辑保持在高层

javascript - 如何从 Canvas 数据创建图像?

javascript - 传递一个向 $.when .done 发出 ajax 请求的函数

javascript - 仅在事件触发时调用函数

jquery - 尝试使用 JQuery 获取元素的父类

javascript - 用于验证工作日志字段模式的正则表达式(以获取用户完成任务的时间)