2016-05-30 66 views
0

我試圖插入一些由一些JS代碼計算出的數字,並將 data-number-value =「127842」編輯爲一個新數字。以下是一個屬性或屬性的Div嗎?

如何使用JS訪問和覆蓋此數字。

這是屬性還是屬性?

這是DOM代碼:

<div class="et_pb_number_counter et_pb_module et_pb_bg_layout_light downloadcount et_pb_number_counter_0" data-number-value="127842"> 
<div class="percent" style="color:#e2332d"><p><span class="percent-value"></span></p></div> 
<h3>Downloads</h3> 
</div> 

這是我的JS

jQuery(".downloadcount").setAttribute('data-number-value', downloadCount); 

我無法得到它的工作

+1

任何出現在HTML標記中的* text *都是* HTML屬性*。這只是一個*屬性*如果/當/如何暴露的DOM。 – user2864740

+2

查看[tag wiki](http://stackoverflow.com/tags/javascript/info),特別是看到標有**的部分。當問一個JavaScript問題時,您應該**,特別注意說*使用您的瀏覽器的開發工具* – Quentin

回答

2

setAttributeDOM Method,你不能一個jQuery對象上直接使用。

無論是訪問本地JavaScript對象將使用與功能的setAttribute:

jQuery(".downloadcount")[0].setAttribute('data-number-value', downloadCount); 

或者使用jQuery data function

jQuery(".downloadcount").data('number-value', downloadCount); 
+0

jQuery真的嗎?這可以通過ES6完成,代碼如下 – vol7ron

+0

@ vol7ron - 問題是什麼? OP發佈了jQuery代碼,我提供了一個jQuery答案。 – j08691

+0

不是說這是錯的,只是說我們必須更好地教他;) – vol7ron

1
jQuery(".downloadcount").data('number-value', downloadCount); 

OR:

jQuery(".downloadcount").attr('data-number-value', downloadCount); 

DEMO

+0

我使用.data代碼,它的工作很好。謝謝! –

+0

@JamieCarter,很高興聽到 – Mojtaba

+0

@JamieCarter,您可以通過選擇真正的答案解決您的問題來回答此問題。這樣做,幫助別人不要在這個問題上花更多時間 – Mojtaba

0

沒有jQuery是必要的。您可以使用dataset訪問DOM中的data- *屬性。

document.querySelector('.downloadcount').dataset['number-value'] = downloadCount; 
相關問題