我的HTML脚本中有一组id。是否有正确的方法将它们放在javascript中的数组中,以便立即更改所有id(" blauw *)的背景?
这是我的HTML代码:
<table width="90%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td> </td>
<td> </td>
<td><a href="#"><img id="blauw1" src="images/lamp_uit.png" width="32" height="63"></a></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><a href="#"><img id="blauw2" src="images/lamp_uit.png" width="32" height="63"></a></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td><a href="#"><img id="blauw3" src="images/lamp_uit.png" width="32" height="63"></a></td>
<td> </td>
<td><a href="#"><img id="blauw4" src="images/lamp_uit.png" width="32" height="63"></a></td>
<td> </td>
</tr>
<tr>
<td> </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> </td>
</tr>
<tr>
<td><a href="#"><img id="blauw8" src="images/lamp_uit.png" width="32" height="63"></a></td>
<td> </td>
<td><a href="#"><img id="blauw9" src="images/lamp_uit.png" width="32" height="63"></a></td>
<td> </td>
<td><a href="#"><img id="blauw10" src="images/lamp_uit.png" width="32" height="63"></a></td>
</tr>
</table>
答案 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"
注意:
Fiddle和querySelectorAll()
对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);