У меня есть следующий JS код:JS: Не удается установить свойство неопределенного
<script type="text/javascript">
var a = document.getElementsByClassName("sub_category_image");
for(i=0; i < a.length ; i++){
var b = a[i];
b.style.width = "100px";
b.style.height = "100px";
}
</script>
<script type="text/javascript">
var x = document.getElementsByClassName("sub_category_image").alt;
var y = document.getElementsByClassName("sub_category_image");
if (x = "Cool Beans") {
y.style.width = "200px";
y.style.height = "200px";
}
</script>
Первый сценарий, изменяет размер изображения всех изображений, который работает, но он делает некоторые другие изображения выглядят «некрасиво».
Второй скрипт, где я получаю ошибку Cannot: set property 'width' of undefined.
. Я говорю JS искать первый тег alt, содержащий «Cool Beans», и если он найден, измените ширину и высоту стиля. Что не так? Я считаю, что он должен что-то сделать с моим объявлением var y
, но у меня нет подсказки, чтобы исправить это.
Проверьте, что x и y не определены? – TZHX
if (x = "Cool Beans") должно быть, если (x === "Cool Beans") –
[Всегда проверяйте документацию о том, как использовать функцию] (https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementsByClassName), функции getElementsBy * всегда возвращают NodeList (например, массив) –