【问题标题】:Jquery attr() method adding double quotes instead of single quotesJquery attr() 方法添加双引号而不是单引号
【发布时间】:2019-03-03 12:53:51
【问题描述】:

我正在尝试在运行时使用 Jquery 将以下代码添加到具有 id="container" 的 div 中

data-flickity='{ "autoPlay": 1000 }'

我正在使用 attr() 方法来完成工作:

$('#container').attr("data-flickity",'{ "autoPlay": 500 }');

现在的问题是 HTML 中的最终结果是属性的值被双引号括起来,而不是像这样的单引号,

data-flickity="{ "autoPlay": 1000 }"

因此,我的网页无法正常工作。

那么任何人都知道如何告诉 attr() 方法添加单引号或任何其他方式来实现单引号添加属性?

编辑:Here's a Codepen 我正在尝试实现的内容。由于我无法访问 HTML .. 我正在尝试使用 JS 添加属性。

【问题讨论】:

  • 你试过了吗:$('#container').attr("data-flickity","{ 'autoPlay': 500 }"); ?
  • 刚试过...这甚至没有添加属性。
  • 这是像 Handlebars 这样的模板吗? data-flickity="{ "autoPlay": 1000 }"你能提供一个HTML应该是什么样子的例子吗?
  • 这是我试图实现的代码笔.. 但问题是我无法访问核心 HTML .. 这正是我试图使用 JS 滑动属性的原因:codepen.io/desandro/pen/RNQwaB

标签: jquery html


【解决方案1】:

为什么不简单地在内部而不是外部使用单引号?

字符串{ 'autoPlay': 500 }被传递给浏览器......不是它的包装引号。

$('#container').attr("data-flickity","{ 'autoPlay': 500 }");
console.log( $('#container').attr("data-flickity") );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div id="container">container</div>

【讨论】:

    猜你喜欢
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-19
    • 1970-01-01
    • 2011-08-02
    • 2017-07-09
    • 1970-01-01
    • 2011-12-08
    相关资源
    最近更新 更多