перемещение скрипта во внешний файл

#javascript

#javascript

Вопрос:

Я действительно новичок в js. Пока не очень хорошо заполняется js. Я ищу в стеке и нашел похожую проблему, но это решение не работает для меня. У меня есть код в index.html

 <script>
$(document).ready(function () { 
var elements = document.querySelectorAll(".well"),
heights = [];
/* Getting an array with the heights */
[].forEach.call(elements, function (each) { 
heights[heights.length] = getComputedStyle(each, null).getPropertyValue("height"); 
});
/* Sorting the array to get the greatest value first */
heights.sort(function (a, b) { 
return parseFloat(b) - parseFloat(a); 
});
/* Applying the greatest height to each element */ 
[].forEach.call(elements, function (each) { 
each.style.height = heights[0]; 
});
});
  

и теперь я хочу переместить это во внешний файл, чтобы использовать его не только один раз.
итак, я создаю файл: layout.js с помощью кода

 function equalHeightClass(object) {
"use strict";
var
    elements = document.querySelectorAll(object),
    heights = [];

/* Getting an array with the heights */
[].forEach.call(elements, function (each) {
    heights[heights.length] = getComputedStyle(each, null).getPropertyValue("height");
});

/* Sorting the array to get the greatest value first */
heights.sort(function (a, b) {
    return parseFloat(b) - parseFloat(a);
});

/* Applying the greatest height to each element */
[].forEach.call(elements, function (each) {
    each.style.height = heights[0];
});
}
  

и в индексе я размещаю

 <script src="js/layout.js"></script>
<script>
    $(document).ready(function () {
        equalHeightClass(.btn);
        equalHeightClass(.well);
    });
</script>
  

но это не работает, я пытаюсь с кавычками, без, до сих пор не знаю, где ошибка.

Комментарии:

1. Как отлаживать JavaScript

2. Что такое .btn и .well должно быть? Вы нигде их не определяете. Также ваш layout.js файл действительно находится во вложенной папке «js»?

3. Я уверен, что в вашей консоли разработчика есть сообщение об ошибке….

Ответ №1:

Для записи, в:

 <script>
    $(document).ready(function () {
        equalHeightClass('.btn');
        equalHeightClass('.well');
    });
</script>
  

Вам понадобятся кавычки для параметров, потому что в этом случае вы будете использовать это значение в querySelectorAll, которое требует их.

Есть ли у вас какие-либо ошибки консоли, отображаемые в отладчике? Каким образом это не работает?

Ответ №2:

Все работает, путь указан правильно. Я допускаю ошибку опечатки при вызове функции. Теперь я учусь сохранять имя функции siple.