2017-01-23 55 views
1

我試圖從兩個子菜單的每一箇中提取最大值並將其附加到p如何附加文本值數組的最大值?

$('.submenu').each(function(index, element) { 
 
$('#output') 
 
    .append($(".element").map(function() { 
 
     return this.text(); 
 
    }) 
 
    .get().Math.max(); 
 
); 
 
});
<div class='menu'> 
 
    <div class='submenu'> 
 
    <span class='element' style=''>1</span> 
 
    <span class='element' style=''>5</span> 
 
    <span class='element' style=''>7</span> 
 
    <p id='output'> 
 

 
    </p> 
 

 
</div> 
 
    <div class='submenu'> 
 
    <span class='element' style=''>1</span> 
 
    <span class='element' style=''>3</span> 
 
    <span class='element' style=''>2</span> 
 
    <p id='output'> 
 

 
    </p> 
 

 
    </div> 
 
</div>

因此,輸出應該是這樣的:

<div class='menu'> 
    <div class='submenu'> 
    <span class='element' style=''>1</span> 
    <span class='element' style=''>5</span> 
    <span class='element' style=''>7</span> 
    <p id='output'>7</p> 

</div> 
    <div class='submenu'> 
    <span class='element' style=''>1</span> 
    <span class='element' style=''>3</span> 
    <span class='element' style=''>2</span> 
    <p id='output'>3</p> 

    </div> 
</div> 
+0

使用具有相同的ID屬性的多個元件可以使你應該改變它們中的一個 – happymacarts

+0

['parseInt函數()'](HTTPS問題://developer.mozilla。 org/en-US/docs/Web/JavaScript/Reference/Global_Objects/parseInt)+ [JavaScript:min&max數組值?](https://stackoverflow.com/questions/1669190/javascript-min-max-array-價值觀) – Andreas

回答

1

有幾個錯誤在你的代碼:

  1. 通過指定獲取當前上下文中.outputcontext as an argument
  2. text()是jQuery方法,用jQuery包裝this
  3. Math.max的使用在您的代碼中未使用有效格式,請將其與Function#apply一起使用以傳遞元素數組作爲參數。
  4. id應該是唯一的,所以使用class代替輸出元素,並在選擇器中指定context

$('.submenu').each(function(index, element) { 
 
    $('.output', this).append(Math.max.apply(Math, $(".element", this).map(function() { 
 
    return $(this).text(); 
 
    }).get())); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='menu'> 
 
    <div class='submenu'> 
 
    <span class='element' style=''>1</span> 
 
    <span class='element' style=''>5</span> 
 
    <span class='element' style=''>7</span> 
 
    <p class='output'> 
 

 
    </p> 
 

 
    </div> 
 
    <div class='submenu'> 
 
    <span class='element' style=''>1</span> 
 
    <span class='element' style=''>3</span> 
 
    <span class='element' style=''>2</span> 
 
    <p class='output'> 
 

 
    </p> 
 

 
    </div> 
 
</div>

+1

我在做幾乎相同的答案,你擊敗了我! – happymacarts