2016-09-22 5 views
0

<div>の値を、同じクラス名を持つ他のdivタグと比較する方法を探しています。だから、私はjqueryでそれを行うことにしています。以下は、比較したい<div>タグの例です。jqueryを使って同じdivクラス名の値を比較する

<div class="helloword" value="4"> </div> 
<div class="helloword" value="3"> </div> 
<div class="helloword" value="2"> </div> 
<div class="helloword" value="1"> </div> 

最小値を持つクラスを比較したいと思います。そうすることは可能ですか?

+0

あなたがこれまで何を試してみましたか?同じクラスのすべてのアイテムを選択してループする方法を知っていますか? – ADyson

+0

それはかなり恥ずかしいですが、私はどのようにすべての項目を選択するか分からない、あなたはそれを行うには何らかの方法を提案することはできますか? @ADyson –

+0

セレクタを使った非常に基本的なjqueryです。これを行う前にjQueryやCSSを使用していれば、しかし、あなたがこれを見たことがない場合に備えて、私は解決策を投稿します。 – ADyson

答えて

1

これで、必要なものはどこでもlowestValを使用できます。

+0

ありがとう、私はあなたが{}を置くことを忘れていると思うので、if文のエラーを編集してください。その後、私はあなたの答えを受け入れることができます。 –

+0

JavaScriptの1行のifステートメントでは、大括弧を使用しないで有効です - 試してみましょう:-) – ADyson

1

怒鳴るよう.each()、未テストコードを使用して、それらを介してクラスセレクタとループを使用して、すべてのdivを取得します。

var min = 10, minElement = ''; 
    $('.helloword').each(function(){ 
     var value = parseInt($(this).attr("value")); 
     if (value < min) { 
      min = value; 
      minElement = $(this); 
     } 
    }); 
    // using minElement 
2

をあなたが最小値を取得するためにmap()Math.min.apply()を使用することができます。

var lowestVal = 100; //set this higher than your max value 
var divs = $(".helloword"); //select all the elements by their class 

//loop through each item and compare it to the lowest recorded one 
divs.each(function(index, element) { 
    var val = parseInt($(element).attr("value")); 
    if (val < lowestVal) lowestVal = val; 
}); 

:あなたがそれらを介して、ループ、そのクラスによってすべてのdivを選択する必要があり、これまでに発見した最低1へのポインタを維持

var min = Math.min.apply(null, $('.helloword').map(function() { 
 
    return parseInt($(this).attr('value')) 
 
})) 
 

 
console.log(min)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="helloword" value="4"></div> 
 
<div class="helloword" value="3"></div> 
 
<div class="helloword" value="2"></div> 
 
<div class="helloword" value="1"></div>

1

function GetSmallestValue(itemValue) 
 
{ 
 
    $(".helloword").each(function (a, b) { 
 
    var newValue = $(this).attr("value"); 
 
    if (itemValue==0 || newValue < itemValue) { 
 
     itemValue = newValue; 
 
    }    
 
    }); 
 

 
    return itemValue; 
 
} 
 

 
var itemValue = GetSmallestValue(0); 
 
console.log(itemValue);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="helloword" value="4"> </div> 
 
<div class="helloword" value="3"> </div> 
 
<div class="helloword" value="2"> </div> 
 
<div class="helloword" value="1"> </div>

関連する問題