おはようございます、いつもお世話になりました 私は初心者でウェブを開発し、学習のための小さなプロジェクトに取り組んでいます。異なるHTML要素に対して同じJQueryコードを実行する方法は?
私は私が各1の値に応じた割合-星を埋めるためにしようとしていた、このコードを持っている(私はそれは非常に単純だと確信していますが、私は何をすべきは考えている)問題
を持っています:
$.fn.stars = function() {
return $(this).each(function() {
$(this).html($('<span />').width(Math.max(0, (Math.min(5, parseFloat($(this).html())))) * 16));
});
}
for (i = 1; i< 3 ; i++) {
var val = 'input[name=amount'+i+']';
var id = 'saj' + i;
var submit = '#sa' + i;
var extendedId = '#so' + i;
$(function() {
$(submit).click(function() {
$(extendedId).html('<span id = "'+id+'" class="stars">'+parseFloat($(val).val())+'</span>');
$('#'+id).stars();
});
$(submit).click();
});
}
span.stars, span.stars span {
display: block;
background: url(stars.png) 0 -16px repeat-x;
width: 80px;
height: 16px;
}
span.stars span {
background-position: 0 0;
}
.sajed {
display :none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class = "sajed" type="text" name="amount1" value="2.5" />
<input id = "sa1" class = "sajed" type="submit" value="update"/>
<p id = "so1" ><span >2.4618164</span></p>
<input class = "sajed" type="text" name="amount2" value="4" />
<input id = "sa2" class = "sajed" type="submit" value="update"/>
<p id = "so2"><span >2.4618164</span></p>
私は私が(別のクラス名を持つ)HTML、CSSを繰り返した場合、それが働いて、それを数回を追加するために必要な、インターネットからこのコードを持って、そしてjQueryの機能。私がやりたいこと
は、私は星を要素に持つHTMLコードを数回追加し、それ
に同じCSSとjQueryを使用することです、私はforループ内で上記の関数を呼び出すだけLASTていますループ内の要素が効果を持ちます。
私は0から1までのループのために起動したときにちょうどFIRST星iは0から2までのループのために起動したとき、私は0から3までのループのために起動したときに形状 がちょうどSECOND星形 を得ました何も起こりません。
は私がその悪い、説明のために申し訳ありませんが、私はあなたが私は
ループは、インデックス1と第2の終了時に最初の1が発生しました結果を持っているコードと次の画像から何を意味するかだ願っていますそれは2で終了し、第三時に、それは2
のようなコードを作ることができ、私はこのサイトを愛し始めました.. あなたが私がXHを投稿するのを待っていたので 確かに働いた 助けてくれてありがとう、私はそれを感謝します。 –
[了解のマークを付ける](http://stackoverflow.com/help/someone-answers)を忘れないでください。 – trincot