从数据属性字符串

时间:2015-12-07 20:39:07

标签: javascript html

我在数据属性中获得了一些宽高比值,如

<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];

2 个答案:

答案 0 :(得分:0)

我无法理解你在寻找什么,请你查一下吗?

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

如果这是错误的话,看看这个小提琴并告诉我你需要什么。

https://jsfiddle.net/

答案 1 :(得分: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);

  // ...
});