正则表达式 getElementById [英] Regular expression getElementById

查看:10
本文介绍了正则表达式 getElementById的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

很长一段时间以来我第一次需要使用纯 Javascript,并且已经习惯了 jQuery 的舒适床垫,所有重要的东西都在逃避我.

我需要在正则表达式上选择一堆 div.所以我有这样的东西;

.. </div><div id="id_123456_1120092">.. </div><div id="id_555222_1200192">.. </div><div id="id_123456_9882311">.. </div>

而且我需要创建一个循环,遍历所有 div,其 ID 以 id_123456_ 开头.我该怎么做?

我之前将 jQuery 与 :regex 过滤器插件一起使用,但看看它,我似乎无法在纯 JavaScript 重写中挽救多少.

解决方案

在普通的 javascript 中,你可以执行这个应该适用于所有浏览器的通用搜索:

var divs = document.getElementsByTagName("div"), item;for (var i = 0, len = divs.length; i < len; i++) {项目 = divs[i];if (item.id && item.id.indexOf("id_123456_") == 0) {//item.id 以 id_123456_ 开头}}

工作示例:http://jsfiddle.net/jfriend00/pYSCq/

I need to use pure Javascript for the first time in a long while, and having gotten used to the comfy mattress of jQuery, all the important stuff is escaping me.

I need to select a bunch of divs on regular expression. So I have stuff like this;

<div id="id_123456_7890123"> .. </div>
<div id="id_123456_1120092"> .. </div>
<div id="id_555222_1200192"> .. </div>
<div id="id_123456_9882311"> .. </div>

And I'd need to create a loop that goes through all the divs with an id that begins with id_123456_. How would I go about doing that?

I used jQuery with the :regex filter plugin before, but looking at it, it doesn't seem like there's much I could salvage in a pure javascript rewrite.

解决方案

In plain javascript, you could do this generic search which should work in every browser:

var divs = document.getElementsByTagName("div"), item;
for (var i = 0, len = divs.length; i < len; i++) {
    item = divs[i];
    if (item.id && item.id.indexOf("id_123456_") == 0) {
        // item.id starts with id_123456_
    }
}

Working example: http://jsfiddle.net/jfriend00/pYSCq/

这篇关于正则表达式 getElementById的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆