我正在创建一个设置2个属性的页面,然后在页面加载之后尝试引用这些属性。
我已经能够在没有问题的情况下设置属性,如果我将它们硬编码到贷项和借方属性中,我也能够引用这些属性。
但试图动态调用它们是行不通的。愿意接受建议。
<div class="net" credit="" debit=""></div>
$(document).ready(function() {
... some fancy code involving arrays and junk ...
if(TYPE == 'credit') {
$(".net").attr('credit',data.response.stats.total);
} else if (TYPE = 'debit') {
$(".net").attr('debit',data.response.stats.total);
}
});
$(window).bind("load", function() {
afterPageLoad();
});
function afterPageLoad(){
total_credit = $(".net").attr('credit');
total_debit = $(".net").attr('debit');
total = (total_credit - total_debit);
$(".net").html( "$"+total );
}发布于 2013-11-22 03:23:24
建议使用可由data- ()读取的jQuery.data属性
<div id="test" data-foo="bar"></div>到达
alert( $('#test').data('foo'))设置
$('#test').data('foo','new value, or object or array'))这些属性不一定要存在才能使用它。您可以随时将任何内容存储在元素上,也可以在标记中读取数据。
jQuery.data() API Docs
发布于 2013-11-22 03:31:40
问题是“.一些涉及数组和垃圾的花哨代码.”
data.response建议您进行一个Ajax调用,该调用是异步的,您正在尝试在设置属性之前读取它们。
将逻辑放在Ajax调用的回调中,不要调用onload部分。
发布于 2013-11-22 03:21:59
要读取动态属性值,需要使用prop()而不是attr()。
但是,理想情况下,您应该将自定义值存储在data-属性(即data-credit)中,然后使用jQuery的data()方法获取/设置该值。
https://stackoverflow.com/questions/20136411
复制相似问题