在jquery data()对象上循环,并将值写入以键为变量名的变量中
Loop over jquery data() object and write values in variables with key as variable name
考虑一个具有HTML5数据属性的html元素,如:
<div id="thediv" data-id="somenumber" data-lang="somestring" data-foo="" data-bar="somestring"></div>
我想做的是在数据对象上循环并创建像这样的变量
var key = value;
我的代码如下:
var itm = $("#thediv");
$.each(itm.data(), function(k,v) {
eval("var " + k + " = '" + v + "';");
});
第一:
我需要引用这些值,因为如果有一个空值,我会得到一个错误。但这没关系,因为我只需要值作为字符串,如果需要,我可以在后面的代码部分重新分析它们。
问题是我没有得到变量。假设我想看看输出,我做了一个
console.log("id =" + id);
我得到"id is undefined"
代码的问题是它在jQuery.each
块内定义变量,而您正试图在块外访问它。
所以尝试在eval中使用window.yourvariable
将变量设置为全局变量。
JS:-
var itm = $("#thediv");
$.each(itm.data(), function (k, v) {
eval("window." + k + " = '" + v + "';");
});
JSFiddle
就我个人而言,我应该使用".data()"函数将数据保存在"body"标记中
var itm = $("#thediv");
$.each(itm.data(), function (k, v) {
$( "body" ).data( k, v );
});
您可以通过检索数据
alert( $( "body" ).data( "varName" ) );
相关文章:
- AngularJS-在JSON选择器中使用变量名
- 命令行中的Uglify js;不要弄乱变量名
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 这在JavaScript中是一个好的变量名吗
- 在javascript中,在变量名之前使用var有什么区别/优势吗
- 在Javascript中连接一个动态变量名
- 如何使用jQuery循环变量名
- JavaScript将字符串转换为变量名
- 根据发送到javascript中函数的参数创建变量名
- 检索本身包含变量的 Jquery 变量名的值
- 测试JavaScript是否符合异常变量名
- 动态变量名语法
- 动态jQuery变量名
- jquery没有't从DIV数据id中获取PHP变量值,只输出变量名
- Ajax jquery post发布时没有变量名
- 在javascript中的现有变量名中添加一个变量
- 可以't让JavaScript将ID读取为变量名
- ng绑定html,变量名来自ng repeat,但在其他地方定义了变量
- 使用动态变量名更新JSON中的结果
- 如何在javascript中访问函数内部的相同变量名