javascript - 如何使用 jQuery 添加多个属性?
问题描述
我遵循了这篇文章jQuery 上的所有答案:通过 .attr() 添加两个属性;方法,它们都不适用于多个属性,只有单个属性有效。
例如
$("img").attr({
data-aos: "fade-down",
data-aos-duration: "600"
});
不工作。但是单个属性确实有效:
$("img").attr("data-aos", "fade-down");
https://jsfiddle.net/bwj5uex0/3/ 您可以在 CTRL+Enter 后使用浏览器的内置开发工具在 JSFiddle 上进行测试。
解决方案
只需引用名称:
$("img").attr({
"data-aos": "fade-down",
"data-aos-duration": "600"
});
这是 JavaScript 对象初始化器的标准特性,适用于 jQuery 的attr
. 属性名称可以是文字(foo:
)、字符串文字("foo":
或'foo'
:)、数字文字(1:
)(它们被转换为字符串),或者(在 ES2015 之后)使用[]
符号计算的名称。
实时示例(右键单击图像并选择 Inspect / Inspect Element 以查看属性):
$("img").attr({
"data-aos": "fade-down",
"data-aos-duration": "600"
});
<img src="http://via.placeholder.com/200/44F/DDD?text=hi+there">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
您可能会让人们建议您使用data
它而不是attr
. 很多人有一个误区,思维data
是data-*
属性的访问器。不是;详情在这里。
推荐阅读
- python - 为什么我的代码适合 Java,但不适合 Python
- java - 从 lambda 表达式中检索值(尝试进行多项选择测验 java fx)
- docker - Kubernetes 在拉取或应用部署时是否支持替代存储库?
- c# - 使用 asp.net 创建 3D 柱形图 - 如何添加 z 轴?
- java - 如何在 Eclipse 中构建一个没有 maven 和 gradle 文件且 repo 中没有 .jar 文件的 Java Github 项目
- javascript - 带有函数()的Javascript随机数生成器
- arrays - 分配数组超出维度而没有错误消息
- ruby-on-rails - 在 ruby 或 rails 中减去日期
- swift - 从 ObservableObject 发布者更新状态
- rust - 为什么使用Tcplistener传入迭代器时for循环不退出