Javascript 从数组中获取数字并将此数字设置为其他函数的函数

Javascript 从数组中获取数字并将此数字设置为其他函数的函数,javascript,jquery,html,Javascript,Jquery,Html,我对jquery代码有一个问题:) 情况如下: 我有一个带有数字的数组var arr 我有一个函数get_number(),它从一个 数组 我有一个带有参数内部高度(数字)的函数,它获取元素的最大高度,并将此高度设置为其他元素 但有些东西被撞坏了…:( 这是一个 HTML结构 <div id="slide-1"> <div class="inner-li"> <p>Lorem Ipsum...</p> </d

我对jquery代码有一个问题:)

情况如下:

  • 我有一个带有数字的数组var arr

  • 我有一个函数get_number(),它从一个 数组

  • 我有一个带有参数内部高度(数字)的函数,它获取元素的最大高度,并将此高度设置为其他元素
  • 但有些东西被撞坏了…:(

    这是一个


    HTML结构

    <div id="slide-1">
        <div class="inner-li">
            <p>Lorem Ipsum...</p>
        </div>
    </div>
    
    <div id="slide-2">
        <div class="inner-li">
            <p>Lorem Ipsum...</p>
        </div>
    </div>
    
    <div id="slide-3">
        <div class="inner-li">
            <p>Lorem Ipsum...</p>
        </div>
    </div>
    

    从数组中获取每个数字

    // Get each number from array
    function get_number() {
        $.each(arr, function(i, v) {
            return arr[i];
        });
    }
    

    获取内部li元素的最大高度

    // Get max-height of inner-li and set to the others with the same class
    function inner_li_height(number) {
    
        var heights = $("div[id^='slide-" + number + "'] .inner-li").map(function () {
            return $(this).height();
        }).get(),
    
        maxHeight = Math.max.apply(null, heights);
    
        console.log(maxHeight);
    
        $("div[id^='slide-" + number + "'] .inner-li").height(maxHeight);
    }
    

    这里调用函数:

    // Call function inner_li_height
    inner_li_height(get_number);
    


    如果有人能帮助我,我会很高兴:)

    试试这个可以在多个DOM对象上工作的函数:

    // Get max-height of inner-li and set to the others with the same class
    function inner_li_height(attr) {
    
       $(attr).each(function(i,v) {
        var heights = $(attr).map(function () {
            return $(this).height();
        }).get();
    
        maxHeight = Math.max.apply(null, heights);
        console.log(maxHeight);
    
        $(attr).height(maxHeight);
       });
    }
    
    inner_li_height('div[id^="slide-"] .inner-li');
    

    jsfiddle:

    有几个问题:(1)您遇到了哪些错误?(2)
    get\u numbers()
    做什么?看起来,
    get\u numbers()
    没有输入,没有输出,也没有副作用。是的,get\u numbers()没有输出,但为什么?我想使用这个函数get_number(),并将其作为参数设置为内部的_li_height()…我删除了我的答案,这样就不会再有孩子气的行为了。愚蠢地去争取10分吧。这应该是一个很有帮助的社区,如果一个答案对于分散注意力来说不太正确,那么就有足够的理由指出它来进行快速修复,而不是匆忙发布正确的答案来抓住一些要点。很好!:)。。。这工作正常!但我建议用两个函数来做这件事。你为什么要这么做?考虑到我是第一个正确回答了否决票的人?这两个函数get_number()和internal_li_height()可能更难,我只想知道怎么做。我没有否决票的许可。。。现在我把你的答案设置为正确。
    // Get max-height of inner-li and set to the others with the same class
    function inner_li_height(attr) {
    
       $(attr).each(function(i,v) {
        var heights = $(attr).map(function () {
            return $(this).height();
        }).get();
    
        maxHeight = Math.max.apply(null, heights);
        console.log(maxHeight);
    
        $(attr).height(maxHeight);
       });
    }
    
    inner_li_height('div[id^="slide-"] .inner-li');