基于每个元素预先存在的唯一属性,复制/更改多个元素的属性
Duplicate/change attribute of multiple elements based on pre-existing, unique attribute per element
如何为一组已经创建(动态创建)和dupe&在相同的各个元素上发生变化?例如:
<div class="category" data-category-name="Pizza">Pizza</div>
<div class="category" data-category-name="Burgers">Burgers</div>
<div class="category" data-category-name="Drinks">Drinks</div>
这些需要添加另一个属性,比如"数据开放类别",并且需要获得"数据类别名称"属性的值,如下所示:
<div class="category" data-category-name="Pizza" data-open-category="Pizza">Pizza</div>
<div class="category" data-category-name="Burgers" data-open-category="Burgers">Burgers</div>
<div class="category" data-category-name="Drinks" data-open-category="Drinks">Drinks</div>
尝试使用.attr()
、.data()
$("[data-category-name]").attr("data-open-category", function(_, val) {
// set both `.attr()` , `.data()`
return ($(this).data().openCategory = $(this).data().categoryName)
});
$("[data-open-category]").each(function() {
console.log($(this).data(), $(this).attr("data-open-category"))
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div class="category" data-category-name="Pizza">Pizza</div>
<div class="category" data-category-name="Burgers">Burgers</div>
<div class="category" data-category-name="Drinks">Drinks</div>
使用.each
添加数据attr
$(".category").each(function() {
var cat = $(this).data("category-name")
$(this).attr("data-open-category", cat)
})
Fiddle
相关文章:
- javascript来显示元素属性
- 自定义HTML元素属性未显示-Web组件
- 主元素属性?(或技术)
- 使用模板后,使用Angular获取元素属性值
- 如何从不同范围外的元素属性中获取求值表达式
- 可以't访问元素属性(如果已明确设置)
- 传递引用 jQuery 后无法访问元素属性
- 如何替换元素属性中的部分文本
- 添加新元素属性
- 如何使用jQuery访问父元素属性
- 使用jQuery.attr()方法获取元素属性
- 修改时,哪些DOM元素属性会导致浏览器执行回流操作
- Javascript数据将元素属性绑定到URL中的锚href
- 初始化可从元素属性值观察到的Knockout
- 获取内联样式中的元素属性
- 如何在 html 元素属性中使用 Angular 2 外推法
- 将元素属性与 javascript 折叠方法结合使用时,引导折叠无法正常工作
- 如何观察聚合物元素属性值从索引.html的变化
- 使用 JavaScript 修改 DOM 元素属性
- 聚合物节点到元素属性