javascript – 使用正则表达式搜索div类

前端之家收集整理的这篇文章主要介绍了javascript – 使用正则表达式搜索div类前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

听起来很简单,呵呵.我发现很多答案,但都使用jQuery或ProtoType.我想要简单的JavaScript.它不应该那么难,但JavaScript不是我的事;没有中央文件意味着寻找年龄而不是找到我想要的东西.

请考虑以下HTML代码段:

现在我想使用JavaScript来处理那些DIV.

function processDivElements()
{
 // search for relevant DIV classes
 var divArray = document.getElementsByClass.regex('/^central_.*$/');

 // do stuff with the DIV elements found
 foreach (divArray as divElement)
 {
   divElement.style.background = '#f00';
 };
}

任何人都可以帮我翻译成适当的纯JavaScript吗?我使用的是类,而不是ID.我更喜欢使用正则表达式.

最佳答案
jQuery解决方案真的很棒:

var $divs = $('div[class^="central_"]');

如果您只想支持更新的浏览器,可以使用document.querySelectorAll()基本上做同样的事情:

var divs = document.querySelectorAll('div[class^="central_"]');

如果你想支持旧的浏览器,代码会变得很糟糕:

var all_divs = document.getElementsByTagName('div');
var divs = [];

for (var i = 0; i < all_divs.length; i++) {
    var div = all_divs[i];

    if (div.className.match(/^central_\d+$/) {
        divs.push(div);
    }
}

也:

I use classes,not IDs. I prefer using a regular expression.

您的类是唯一的,并且实际上像ID一样运行,这实际上不是类的预期用途.改为构建你的HTML:

现在,JavaScript变得更简单:

var $divs = $('.central');                               // jQuery
var divs =  document.querySelectorAll('.central');       // Newer browsers
var divs =  document.getElementsByClassName('central');  // Older browsers
原文链接:https://www.f2er.com/html/426782.html

猜你在找的HTML相关文章