我是数组javascript中的ID

时间:2015-05-28 18:39:16

标签: javascript html arrays

我的HTML脚本中有一组id。是否有正确的方法将它们放在javascript中的数组中,以便立即更改所有id(" blauw *)的背景?

这是我的HTML代码:

<table width="90%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td><a href="#"><img id="blauw1" src="images/lamp_uit.png" width="32" height="63"></a></td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                  <td><a href="#"><img id="blauw2" src="images/lamp_uit.png" width="32" height="63"></a></td>
                  <td>&nbsp;</td>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td><a href="#"><img id="blauw3" src="images/lamp_uit.png" width="32" height="63"></a></td>
                  <td>&nbsp;</td>
                  <td><a href="#"><img id="blauw4" src="images/lamp_uit.png" width="32" height="63"></a></td>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td>&nbsp;</td>
                  <td><a href="#"><img id="blauw5" src="images/lamp_uit.png" width="32" height="63"></a></td>
                  <td><a href="#"><img id="blauw6" src="images/lamp_uit.png" width="32" height="63"></a></td>
                  <td><a href="#"><img id="blauw7" src="images/lamp_uit.png" width="32" height="63"></a></td>
                  <td>&nbsp;</td>
                </tr>
                <tr>
                  <td><a href="#"><img id="blauw8" src="images/lamp_uit.png" width="32" height="63"></a></td>
                  <td>&nbsp;</td>
                  <td><a href="#"><img id="blauw9" src="images/lamp_uit.png" width="32" height="63"></a></td>
                  <td>&nbsp;</td>
                  <td><a href="#"><img id="blauw10" src="images/lamp_uit.png" width="32" height="63"></a></td>
                </tr>
              </table>

4 个答案:

答案 0 :(得分:5)

您可以querySelectorAll()使用id document.querySelectorAll("img[id^=blauw]"); 属性选择元素:

var images = document.querySelectorAll("img[id^=blauw]");

for (var i = 0; i < images.length; i++) {
    images[i].src = "";
}

substring

e.g:

class="blauw"

注意:

  • FiddlequerySelectorAll()对IE8有部分支持;

  • 您应该使用来选择一组元素,例如.blauw { width: 32px height: 63px } <img class="blauw" src="images/lamp_uit.png" />

    通过添加一个类,您可以删除标记中的一些属性:

    import errno
    import shutil
    from os import listdir, mkdir
    from os.path import splitext, join
    
    # set for fast lookup
    extList = set(['.doc', '.docx', '.xls'])
    
    # source path
    filepath = ...    
    
    # dest path
    path = ...
    
    for f in listdir(filepath):
        # extract extension from file name
        ext = splitext(f)[1]
        if ext in extList:
            dir_ = join(path, "{}_folder".format(ext))
            try:
                mkdir(dir_)
            except OSError as e:
                if ex.errno != errno.EEXIST:
                    raise  # raise if any other error than "already exists"
            dest = join(dir_, f)
        else:
            dest = join(path, "noextlist_folder", f)
        shutil.copy2(join(filepath, f), dest)
    

答案 1 :(得分:1)

不是真的。 ID在整个文档中是唯一的。 CSS不允许在ID选择器中使用wilcards,例如

#blauw* { color: red }

是非法语法。你必须写一个疯狂的浪费/不足之处:

#blauw1, #blauw2, ..., #blauw999999 { color: red }

如果你想为它们着色,为什么不给它们上课?

.blauw { color: red}

<img id="..." class="blauw" ... />
              ^^^^^^^^^^^

答案 2 :(得分:0)

您应该能够为所有这些元素添加一个类,然后使用getElementsByClassName将这些元素引入JS数组。

答案 3 :(得分:0)

使用blauw类会更好。

但假设ID的最后部分是从1开始的连续整数,

var i = 0, arr = [], el;
while(el = document.getElementById('blauw' + ++i)) arr.push(el);