首页 > 解决方案 > 使用 const 替换 attr 值

问题描述

当我尝试修改输入的属性时,例如用 const 替换内容的“data-disabled-dates”,我得到的结果是带有 const 名称的文本,而不是 const 内容,这将是获得它的正确方法。

html

<input data-min-date="+1" data-disabled-dates="24/12/2021; 25/12/2021; 30/12/2021; 31/12/2021">

Javascript/Jquery

const dateObj = new Date();
jQuery("input[data-min-date='+1']").attr('data-disabled-dates','dateObj'); 

所以错误的结果是:

<input data-min-date="+1" data-disabled-dates="dateObj">

我想要的结果(今天):

<input data-min-date="+1" data-disabled-dates="16/11/2021">

标签: javascriptconstantsattr

解决方案


您将 const 的名称用引号括起来,因此它变成了一个字符串。

解决方案:

const dateObj = new Date();
jQuery("input[data-min-date='+1']").attr('data-disabled-dates',dateObj); 

或者如果您真的希望日期格式为 dd/MM/YYYY:

const now = new Date();
jQuery("input[data-min-date='+1']").attr(
  'data-disabled-dates', 
  `${now.getDate()}/${now.getMonth()+1}/${now.getFullYear()}`
); 

推荐阅读