Невозможно установить свойство 'inner HTML' для неопределенного в цикле - PullRequest
0 голосов
/ 14 марта 2020

Я хочу изменить цвет кнопки, но я получаю это сообщение любым методом (style, inner Html, ...)

error: Uncaught TypeError: Невозможно установить свойство 'color' из неопределенного

html: `

        <div class="a-section backGround layer">
        </div>
        <div class="a-section layer">
            <div class="a-row dealDetailContainer">
                <div class="a-row a-spacing-mini">
                    <div class="a-row a-spacing-unspecified">
                        <span class="a-size-mini a-color-base hiddenCss">&nbsp;</span>
                        <span class="a-size-mini a-color-base badgeSkew"></span>
                    </div>
                </div>
                <div class="a-row stackToBottom">

                    <div class="a-row a-spacing-medium">

                        <span class="a-declarative">

                            <span class="a-button a-button-normal a-button-span12 a-button-primary fixedWidth210">
                                <span class="a-button-inner">
                                <button class="a-button-text a-text-center" type="button">
                                        Add to Cart
                                </button>

                                </span>
                            </span>
                        </span>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

`

js:

var button = document.getElementsByClassName=(".a-button-primary .a-button-text");
var i;
for(i=0 ; i <= button.length ; i++){
  button[i].style.color = "blue";
}

1 Ответ

2 голосов
/ 14 марта 2020

Как отмечено в комментарии @ Hereti c, ваш синтаксис неверен. Еще одна проблема, которую я обнаружил, заключается в том, что вы зацикливаетесь на длину возвращаемых элементов. В вашем for l oop вы используете <= вместо <. Поскольку мы начинаем с 0, <= зайдет go слишком далеко и вернет undefined, когда l oop превысит фактическую длину элемента.

Вот базовый c пример того, что вы пытаетесь сделать.

var button = document.getElementsByClassName("my-button");
for (var i = 0; i < button.length; i++) {
  button[i].style.color = "blue";
}
<button class="my-button">hello</button>
<button class="my-button">hello</button>
<button class="my-button">hello</button>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...