2015-12-07 66 views
1

我的數據屬性有一些長寬比值一樣獲取從數據屬性字符串計算的比值

<li data-ratio="4/3">4:3</li> 

在點擊我需要得到正確的值 - 不是字符串,就像我得到它與此:

'click li': function(event) { 
    var ratio = $(event.currentTarget).attr('data-ratio'); 
} 

我不知道如果我要改變數據屬性的格式,或者只是做的結果有些皈依 - 樣:

var value = $(event.currentTarget).attr('data-ratio').split('/'); 
ratio = value[0]/value[1]; 
+1

你試過了嗎?它給你什麼你期待?他們總是會分裂嗎? – krillgar

+0

如果你是控制'數據比率'值的人,編碼是不是更聰明? – Zirak

回答

0

.split() method將返回字符串的數組。雖然JavaScript有時會處理類型強制,但您仍應將這些字符串轉換爲數字。您可以使用parseInt() function以檢索從字符串的數字:

Example Here

$('li').on('click', function(event) { 
    var values = $(this).attr('data-ratio').split('/'); 
    var ratio = parseInt(values[0], 10)/parseInt(values[1], 10); 

    // ... 
}); 
+0

如果'data-ratio =「」'會發生什麼? – user3142695

+0

@ user3142695它會返回'NaN'。你想要發生什麼? –

+0

然後比率應該是'空'... – user3142695

0

我不能很好地理解你在找什麼,你能檢查一下嗎?

$(document).ready(function(){ 
    $('li').click(function(){ 
    alert($(this).attr('data-ratio')) 
    }) 
}) 

看看這個小提琴,並告訴我你需要什麼,如果這是錯誤的。

https://jsfiddle.net/