2017-01-12 7 views
1

こんにちは、選択したデータの特定のIDやその他のデータ

は、私はこの私が解決できない問題...

を持っている値を追加します:今、私はしたい

<li><div class="bar" data-id="0" data-percentage="0"></div><span>0</span></li> 

を選択data-id = 0 (or 1,2,3,4..) and update data-percentage +10

どうすればいいですか?

var data_id = 0;

$('[data-id="'+data_id+'"]').text(Number($('div.bar').attr('data-percentage', 10))); 

Thx for help!

+0

何を達成しようとしていますか? –

+0

具体的な問題を明確にしたり、詳細を追加して必要なものを正確に強調してください。現在書かれているとおり、あなたが求めていることを正確に伝えるのは難しいです。 –

+0

data-costap = "'+ data_id +'の場合、data-percentage =" 0 "を追加してみてください。 – Unmecparla

答えて

1

attr()メソッドをコールバックで使用すると、コールバックで2番目の引数が古い値として保持されます。

$('[data-id="' + data_id + '"]').attr('data-percentage', function(i, v) { 
    // parse the number and if it's NaN then treat it as 0 
    return (Number(v) || 0) + 10; 
}); 
+0

これは 'isNaN(v)'で失敗します。私はそれがOPに答えるのを知っていますが、これは 'data-id'文字列に数字が含まれている場合にのみ有効なので、明確にするために言及しています。 – Kilmazing

+1

@Kilmazing:NaNのときは0になります。 –

0

使用this

$(document).ready(function() { 
    incrementTen(0); 
}) 

function incrementTen(dataId){ 
    let el = $('[data-id='+dataId+']'), 
    initialValue = $(el).data('percentage'); 
    $(el).attr('percentage', initialValue+10) 
    console.log(initialValue, $(el)[0].outerHTML) 
} 
+0

違いは? – Unmecparla

+0

何も私が解決策を書いたとき、上記の答えはそこになかった – Landaida

関連する問題