通过jquery分配样式属性
Assign style attr through jquery
我试图给这些span按钮分配颜色,如果我把类放在span类里面,它有点工作,但有时它不改变颜色,而且我想要能够设置只有一个按钮为彩色。我还需要将值存储在style中,因为我想在加载页面时将其着色。
while($stmt->fetch()): ?>
<div class="statusicons">
<a href="#" class="btn btn-xs btn-default"><span data-color="0" class=" glyphicon glyphicon-ok" style=""></span></a>
<a href="#" class="btn btn-xs btn-default"><span data-color="1" class=" glyphicon glyphicon-road" style=""></span></a>
<a href="#" class="btn btn-xs btn-default"><span data-color="2" class=" glyphicon glyphicon-remove-sign" style=""></span></a>
</div>
<?php endwhile;
$stmt->close(); ?>
$('.statusicons').on('click', function() {
var color = $(this).data('color');
var array = ['green', 'orange', 'red'];
$(this).attr('style', 'color :' + array[color]);
});
可能是因为data-color
返回字符串。
尝试将索引转换为整数。
$('.statusicons a').on('click', function() {
var color = parseInt($(this).data('color')); // Convert data-color to integer to check index
var array = ['green', 'orange', 'red'];
$(this).attr('style', 'color :' + array[color]);
});
try css()
$(this).css('color', array[color]);
使用css()
,将点击事件更改为链接点击,找到链接的跨度并为其上色
$('.statusicons a').on('click', function(e) {
e.preventDefault();
var color = $(this).find('span').data('color');
var array = ['green', 'orange', 'red'];
$(this).find('span').css('color',array[color]);
});
你不能在style属性中保存颜色的状态,状态在页面刷新时丢失,如果状态图标是动态添加的,不要忘记在document ready语句中包装你的js并委托你的事件
相关文章:
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 通过jQuery添加ng样式属性,angular不更新
- CSS样式属性留空
- d3.js圆的半径是否可以由样式属性指定
- 如何在不使用Page.Theme属性的情况下设置页面样式和主题
- 如何通过JQuery修改样式属性
- 获得'无法读取null的属性样式'
- 无法读取Null的属性样式
- 未捕获的类型错误:无法读取 null(索引):110 的属性“样式”
- 我一直收到未捕获的引用错误:未定义下拉菜单和未捕获的类型错误:无法读取 null 的属性“样式”
- 无法读取未定义的属性“样式”
- 重新打开程序函数返回类型错误“无法读取 null 的属性'样式'”
- MGWT ScrollPanel.scrollTo(0, y) 导致无法读取未定义的属性“样式”
- 如何使用 jQuery 删除多个标签的属性样式
- 为什么在 JavaScript 中无法读取 null 的属性“样式”
- 为什么我得到'无法读取属性样式为null ';错误
- 在Kineticjs中添加图像的属性样式
- 未捕获的类型错误:不能设置属性样式的#<它只有一个getter
- 无法读取属性样式,不同页面上出现错误
- 无法读取null的属性样式