使用 Javascript 编写引用属性数据的 HTML
Write HTML in reference to attribute data with Javascript
我想使用带有javascript的锚标记的属性向相邻元素添加一个类:
.HTML:
<ul>
<li><a href="#" class="swatchButton" data-color="blk"><span></span>Black</a></li>
<li><a href="#" class="swatchButton" data-color="red"><span></span>Red</a></li>
<li><a href="#" class="swatchButton" data-color="blu"><span></span>Blue</a></li>
<li><a href="#" class="swatchButton" data-color="grn"><span></span>Green</a></li>
<li><a href="#" class="swatchButton" data-color="yel"><span></span>Yellow</a></li>
</ul>
.JS:
$(document).ready(function(){
var swatchColor = $(".swatchButton").data('color');
$(".swatchButton").find('span').addClass(swatchColor);
});
我最终正在寻找:
<li><a href="#" class="swatchButton" data-color="blk"><span class="blk"></span>Black</a></li>
我需要用forEach()
创建某种数组吗?
谢谢!http://jsfiddle.net/cL1rpk9L/
在jquery中使用each()
$(document).ready(function(){
$(".swatchButton").each(function() {
var swatchColor = $(this).data('color');
$(this).find('span').addClass(swatchColor);
});
});
演示:https://jsfiddle.net/tamilcselvan/cL1rpk9L/3/
您的代码var swatchColor = $(".swatchButton").data('color');
将返回具有类 swatchButton
的第一个元素的data-color
,$(".swatchButton").find('span').addClass(swatchColor);
会将该值分配给每个span
元素,该元素是类 swatchButton
的元素的后代。
您需要单独设置每个范围的颜色
$('.swatchButton span').addClass(function(){
return this.parentNode.dataset.color;
});
演示:小提琴
或
$('.swatchButton span').addClass(function(){
return $(this).parent().data('color');
});
演示:小提琴
相关文章:
- 如何将json数据显示为html
- 使用html中的外部javascript进行数据验证
- 无法将数据从firebase获取到我的html页面
- JS验证ajax返回的html中的表单数据
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- 编辑HTML表的源数据
- PHP:显示sqlite数据库中的html格式数据,使用tinymce保存
- 在页面呈现之前更改HTML数据
- 如何放置'选择'基于angularJS中数据的html选项
- 有没有一种方法可以仅使用HTML/CSS来隐藏基于特定值的数据单元格
- AngularJS-需要在index.html页面中访问来自服务的数据
- AngularJS加载JSON数据,然后从中解析/加载HTML
- tu如何将id放在填充了json数据的html表td上
- 在HTML页面上显示node.js服务器中的数据
- 函数jquery.html()不提供数据属性集值
- 从远程站点获取数据 - HTML 表
- 如何保存和访问复选框数据 HTML
- 在下拉列表中显示保存的数据 - html 选择标签
- 避免使用jQuery显示的数据.html在页面重新加载后丢失
- 使用javascript根据元素的数据html将类附加到元素中