我是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.jsfunction 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];
});
}
并在索引I上放置
<script src="js/layout.js"></script>
<script>
$(document).ready(function () {
equalHeightClass(.btn);
equalHeightClass(.well);
});
</script>
但这不起作用,我试着用引号,没有,仍然不知道哪里出错。
答案 0 :(得分:0)
记录在:
<script>
$(document).ready(function () {
equalHeightClass('.btn');
equalHeightClass('.well');
});
</script>
您将需要参数的引号,因为在这种情况下,您将在querySelectorAll中使用该值,这需要它们。
您是否在调试器中显示任何控制台错误?它以什么方式不起作用?
答案 1 :(得分:0)
一切正常,路径正确。 我在调用函数时输错误码。现在我学会了保留函数名称siple。