如何在数据属性中添加新数据
How to add a new data in data attribute
我用车把做了倒计时,它被添加到我的元素的数据属性中,但我想要的是添加当前年份。我使用的框架倒计时是接受“2017/06/14”这种数据倒计时格式的最终倒计时我的 html 是这样的:
<div class="cd" id="cd" data-countdown="{{month}}/{{day}} {{time}}"></div>
我想要实现的是将第一个索引中的年份添加为
data-countdown="2017/{{month}}/{{day}} {{time}}"
到目前为止,这是我的 js 脚本:
var currentDate = new Date().getFullYear();
$('.cd').each(function(){
//get each data-attribute
var a = $(this).data("countdown");
var b = a.split(" ");
//add the current year to it
b.unshift(currentDate);
c = b[0]+'\/'+b[1]+'\/'+b[2];
$(this).data("countdown", c); });
只需将当前年份添加到现有数据中即可。
$('.cd').each(function(){
var getDataCountDown = $(this).data("countdown");
var getYear = new Date().getFullYear(); // or whatever the year you want
var newData = getYear + "/" + getDataCountDown;
$(this).data("countdown", newData);
});
更新
正如 Jaromanda X 所说它不会改变 DOM,如果我们需要改变 DOM 也意味着我们可以去
$(this).attr("data-countdown", newData);
而不是
$(this).data("countdown", newData);
您的代码运行良好!
但是正如您所说,您收到了日期解析错误,您可以按照 @Rajesh 的建议将年份附加到现有数据属性值,如下所示。
$('.cd').each(function(){
$(this).data("countdown", new Date().getFullYear()+ "/" + $(this).data("countdown"));
alert($(this).data("countdown"))
});
使用 $(this).data("countdown", c)
您将无法通过检查看到更改,但如果您通过 $(this).data("countdown")
提醒它,您可以看到它提醒更改的值,因为 .data
管理元素的数据对象不是 DOM.
因此,如果您希望将来使用它,可以使用 $(this).data("countdown", c)
,否则使用 $(this).attr("data-countdown", c);
。
希望对您有所帮助!
我用车把做了倒计时,它被添加到我的元素的数据属性中,但我想要的是添加当前年份。我使用的框架倒计时是接受“2017/06/14”这种数据倒计时格式的最终倒计时我的 html 是这样的:
<div class="cd" id="cd" data-countdown="{{month}}/{{day}} {{time}}"></div>
我想要实现的是将第一个索引中的年份添加为
data-countdown="2017/{{month}}/{{day}} {{time}}"
到目前为止,这是我的 js 脚本:
var currentDate = new Date().getFullYear();
$('.cd').each(function(){
//get each data-attribute
var a = $(this).data("countdown");
var b = a.split(" ");
//add the current year to it
b.unshift(currentDate);
c = b[0]+'\/'+b[1]+'\/'+b[2];
$(this).data("countdown", c); });
只需将当前年份添加到现有数据中即可。
$('.cd').each(function(){
var getDataCountDown = $(this).data("countdown");
var getYear = new Date().getFullYear(); // or whatever the year you want
var newData = getYear + "/" + getDataCountDown;
$(this).data("countdown", newData);
});
更新
正如 Jaromanda X 所说它不会改变 DOM,如果我们需要改变 DOM 也意味着我们可以去
$(this).attr("data-countdown", newData);
而不是
$(this).data("countdown", newData);
您的代码运行良好!
但是正如您所说,您收到了日期解析错误,您可以按照 @Rajesh 的建议将年份附加到现有数据属性值,如下所示。
$('.cd').each(function(){
$(this).data("countdown", new Date().getFullYear()+ "/" + $(this).data("countdown"));
alert($(this).data("countdown"))
});
使用 $(this).data("countdown", c)
您将无法通过检查看到更改,但如果您通过 $(this).data("countdown")
提醒它,您可以看到它提醒更改的值,因为 .data
管理元素的数据对象不是 DOM.
因此,如果您希望将来使用它,可以使用 $(this).data("countdown", c)
,否则使用 $(this).attr("data-countdown", c);
。
希望对您有所帮助!