У меня есть массив имен объектов. Эти объекты являются элементами HTML. Я хочу перебрать этот массив и динамически изменять свойства каждого объекта, а не писать список операторов If Then
или Select Case
.
Я смотрю на GetRef()
, который будет работать для функций, но, похоже, не работает для объектов.
Я привык к Python, где я могу использовать getattr()
. Переменные PHP также работают в крайнем случае. Есть ли эквивалент в VBScript?
Вот что я хотел бы сделать (я знаю, что все до того, как комментарий сработает - это бит после комментария, с которым мне нужна помощь):
<table id="softwareStatus">
<tr>
<td><span id="statusProg1">prog1</span></td>
<td><span id="statusProg2">prog2</span></td>
<td><span id="statusProg3">prog3</span></td>
</tr>
</table>
<script language="VBScript">
Dim softwarelist(2,2)
softwarelist(0,0) = "prog1"
softwarelist(0,1) = "statusProg1"
softwarelist(1,0) = "prog2"
softwarelist(1,1) = "statusProg2"
softwarelist(2,0) = "prog3"
softwarelist(2,1) = "statusProg3"
For x = 0 To 2
if IsInstalled(softwarelist(x,0)) Then
' I want to change the object's attributes
' by referring to it dynamically:
softwarelist(x,1).InnerHTML = "<strong>" &_
softwarelist(x,0) & "</strong><br />Installed"
softwarelist(x,1).style.backgroundcolor = "white"
Else
softwarelist(x,1).InnerHTML = "<strong>" &_
softwarelist(x,0) & "</strong><br />Not Installed"
softwarelist(x,1).style.backgroundcolor = "red"
End If
Next
</script>
Edit:
Через несколько дней я нашел решение, которое работает. Поскольку никто еще не ответил на мой вопрос, я сам ответил на него. Однако я не принял свой собственный ответ в надежде, что кто-то другой предложит лучшее решение.