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

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

问题描述

我很久以来第一次需要使用纯Javascript,并习惯了jQuery的舒适床垫,所有重要的东西都是逃避我的。



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

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

我需要创建一个循环遍历所有的div, id_123456 _ 。我怎么会这样做?



之前,我使用了jQuery和:regex 过滤器插件,它似乎没有多少我可以打捞纯粹的JavaScript重写。

解决方案

在普通的JavaScript,你可以做这个泛型搜索应该在每个浏览器中工作:
$ b $ pre $ 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以id_123456_ $ b $开头}
}

工作示例: 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天全站免登陆