jQuery使用数据属性改变值
jQuery Change Value Using Data Attribute
我有多个元素,将有相同的数据属性,但不同的值,我怎么能让jQuery改变值?
下面是一些HTML示例:
<div data-one="test" data-two="test2"></div>
<div data-one="testing" data-two="hello"></div>
<div data-one="yo" data-two="test3"></div>
默认情况下,我希望div
的值为data-one
,但是当active
类在body
标签上时,我希望它将所有值更改为data-two
值。
我想把值存储为一个变量,这将更容易,虽然div没有任何ID,他们分散在DOM周围,这使得它很困难。
到目前为止,我有这个:
if($('body').hasClass('active')) {
$('div').html($(div).data('two'));
}
您可以使用html
方法。
var has = $('body').hasClass('active');
$('div').html(function() {
return has ? $(this).data('two') : $(this).data('one');
});
http://jsfiddle.net/44Du5/CSS唯一解决方案:
body div:after {
content: attr(data-one);
}
body.active div:after {
content: attr(data-two);
}
http://jsfiddle.net/dfsq/gaeUR/但是它不是跨浏览器的:IE8+支持attr函数
查看此链接:http://jsfiddle.net/rjR6q/
$(document).ready(function(){
if($('body').hasClass('active')) {
$('div').each(function(){
$(this).html($(this).data('two'));
});
}
else
{
$('div').each(function(){
$(this).html($(this).data('one'));
});
}
});
相关文章:
- 序列化数据属性中对象的最可靠方法
- jQuery最近父级的数据属性选择器
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 数据属性仅在切换设备模式下工作
- 函数jquery.html()不提供数据属性集值
- 在数据属性上进行下拉自动选择
- JavaScript-获取数据属性的值返回未定义的值
- 如何替换数据属性中的特定字符串单词
- 使用数据属性将HTML数据复制到另一个元素
- 带有CSS的数据属性就没那么有用了
- 查找所有TD标签并读取其数据属性
- 使用jQuery获取第N个元素的数据属性值
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- 数据属性有没有更干净的方法
- 是否可以使用CSS分配数据属性
- 根据jquery数据属性值进行查询
- jQuery改变数据属性值
- jQuery使用数据属性改变值
- HTML数据属性值.如何改变
- JQuery改变数据表的属性