jQuery 获取数据属性的字符串 属性
jQuery get a string property of a data attribute
从下面的 data-ls
属性中获取值 14500
的最有效方法是什么。我以前从未见过单个数据属性的多个属性,我正在寻找更快的方法来提取值,而不是让它依赖于数据属性属性的顺序。
<div class="slide" data-ls="slidedelay:14500; transition2d: all;"></div>
.
var duration = $('.slide').data('ls').split(';');
duration = duration[0].split(':');
console.log("duration: " + duration[1]);
谢谢
Try this one:
<div class="slide" data-ls="slidedelay:14500; transition2d: all;"></div>
JS:
var x = document.getElementsByTagName("div")[0].getAttribute("data-ls");
var x = x.split(":"); var val = x[1].split(';');
alert(val[0]);
如何在你的拆分变量上做一个循环,然后检查 key
是否是 slidedelay
以确保。
例如
var duration = $('.slide').data('ls').split(';');
var slidedelay = "";
if(duration) {
$.each( duration, function( key, value ) {
val = value.split(':');
if(val) {
if(val[0] == "slidedelay") {
slidedelay = val[1];
return false; // then break loop
}
}
});
}
console.log("duration: " + slidedelay);
var duration = $('slide').data('ls').match( /slidedelay *: *(.*?);/ )[1];
它returns第一个匹配的字符串,所以如果你需要它作为一个数字,你需要使用parseInt()。
简单快捷的方法:
JSnippet Demo
function getFrom(selector) {
var val = null;
var x = $(selector)[0]
.getAttribute("data-ls")
.split(' ')[0]
.split(':');
if (x.length > 1) val = parseInt(x[1]);
return val;
}
$(function() {
console.log(getFrom('.slide'));
});
从下面的 data-ls
属性中获取值 14500
的最有效方法是什么。我以前从未见过单个数据属性的多个属性,我正在寻找更快的方法来提取值,而不是让它依赖于数据属性属性的顺序。
<div class="slide" data-ls="slidedelay:14500; transition2d: all;"></div>
.
var duration = $('.slide').data('ls').split(';');
duration = duration[0].split(':');
console.log("duration: " + duration[1]);
谢谢
Try this one:
<div class="slide" data-ls="slidedelay:14500; transition2d: all;"></div>
JS:
var x = document.getElementsByTagName("div")[0].getAttribute("data-ls");
var x = x.split(":"); var val = x[1].split(';');
alert(val[0]);
如何在你的拆分变量上做一个循环,然后检查 key
是否是 slidedelay
以确保。
例如
var duration = $('.slide').data('ls').split(';');
var slidedelay = "";
if(duration) {
$.each( duration, function( key, value ) {
val = value.split(':');
if(val) {
if(val[0] == "slidedelay") {
slidedelay = val[1];
return false; // then break loop
}
}
});
}
console.log("duration: " + slidedelay);
var duration = $('slide').data('ls').match( /slidedelay *: *(.*?);/ )[1];
它returns第一个匹配的字符串,所以如果你需要它作为一个数字,你需要使用parseInt()。
简单快捷的方法: JSnippet Demo
function getFrom(selector) {
var val = null;
var x = $(selector)[0]
.getAttribute("data-ls")
.split(' ')[0]
.split(':');
if (x.length > 1) val = parseInt(x[1]);
return val;
}
$(function() {
console.log(getFrom('.slide'));
});