Ошибка при попытке установить стиль с помощью JavaScript - PullRequest
1 голос
/ 02 апреля 2011
var d = document;
div = d.body.appendChild(d.createElement("DIV"));
div.id = "hi";
div.innerHTML = "Hello World";

cssStyle = ["fontFamily", "fontStyle"];
cssAn = ["Arial", "italic"];

div.style.cssStyle[0] = cssAn[0];

Не устанавливает стиль. Вместо этого он возвращает сообщение об ошибке «Невозможно установить свойство 0 неопределенного». Что я мог сделать не так?

Ответы [ 3 ]

6 голосов
/ 02 апреля 2011

cssStyle не является собственностью div.style. Вы хотите:

div.style[cssStyle[0]] = cssAn[0];
6 голосов
/ 02 апреля 2011

Я думаю, что вы хотите:

div.style[cssStyle[0]] = cssAn[0];
1 голос
/ 02 апреля 2011

Это не связано с Javascript - это общий принцип программирования.

У вас есть переменная cssStyle, которая содержит "fontFamily" и "fontStyle".

Доступ к свойству cssStyleиз div.style никак не связан с переменной cssStyle.

Вам необходимо div.style[cssStyle[0]] = cssAn[0].

РЕДАКТИРОВАТЬ:

Дополнительно, если вы хотите, чтобы все свойствачьи имена в cssStyles и соответствующие значения в cssAn должны быть установлены на div, тогда, предполагая, что cssStyle и cssAn имеют одинаковое количество элементов, вы можете:

for (var i = 0; i < cssStyle.length; i += 1) {
    var name = cssStyle[i];
    var value = cssAn[i];
    div.style[name] = value;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...