jQuery正在为每个类添加样式,而我说不要这样做
jQuery is adding styles to every class, when I said not to
我设置了一个名为"sel"的数据属性,下面的jQuery请求值为"true"的数据sel,但它将其添加到每个类中,即使是没有"data sel"的类
jQuery:
var selTrue = $(".slide").data("sel", 'true');
$(selTrue).css({'display': 'inline-block'});
HTML:
<div class='slide' data-sel='true'>1</div>
<div class='slide' data-sel='true'>2</div>
<div class='slide'>3</div>
<div class='slide'>4</div>
如何防止if申请到每一个班级?
尝试解决:
•我试过这个:
$(".slide").not(selTrue).css({'display': 'none'});
仍然没有解决我的问题
Fiddle
为了根据您的数据属性进行选择,您需要使用
$(".slide[data-sel='true']").css({'display': 'inline-block'});
实际上,您要做的是使用slide
类选择所有元素,然后设置它们的data-sel
属性。
这是文件
http://api.jquery.com/attribute-equals-selector/
$(".slide").each(function () {
if ($(this).data("sel") === true) {
$(this).css({'display': 'inline-block'});
}
});
您正在使用将数据sel属性设置为true
$(".slide").data("sel", 'true');
var selTrue = $(".slide").data("sel", 'true');
这样做的目的是获取所有带有类"slide"的div,并为它们上的键"sel"设置值"true"。所以selTrue
是一个由类为.slide
的所有div组成的jQuery数组。然后为数组中的所有元素(页面上的4个div(设置display: inline-block
。
您想做的是:$('.slide[data-sel = "true"]').css('display', 'inline-block')
方括号表示基于属性的查询。
相关文章:
- 页面在我的javascript执行后重新加载,我不希望它这样做
- 如何在将鼠标悬停在提交/锚点上时检查复选框是否已选中,并显示提示用户这样做的警报
- JavaScript 如果数组包含名称,则不要这样做
- 我用脚本创建了一个按钮.我可以通过点击按钮调用其他函数吗?我这样做,但失败了
- Jquery语法;也这样做”;
- 如果我不这样做会发生什么;t在javascript中的变量中分配新的Image
- 如果他们不这样做,就从我的数组中删除东西't没有前缀
- 如何使用“;这个“;在javascript中?这样做的目的是什么
- 如果我不这样做会发生什么;t有页码吗?继续循环帖子..为什么需要分页,对于页脚
- 禁用 ALT+F4,是的,我知道不建议这样做
- 使用默认值定义构造函数.我这样做对吗?
- 我刚刚开始使用 MEAN 堆栈.我试图将我的表单提交数据存储到 mongo 数据库,但我无法这样做
- 为什么不这样做
- Node.JS/Javascript - 将字符串转换为整数正在返回 NaN,而我不希望它这样做
- 在angularjs中拥有$sce或严格上下文转义有什么好处,为什么反应不需要这样做
- 如何分解此代码以减少重复(以及应该这样做)
- 嵌套的 if/else 语句讨论了分配变量.我已经这样做了,但它仍然不起作用
- blur() 无法以编程方式工作 |但在从用户启动时会这样做
- Webkit 似乎不支持层上的 $.focus(),而 IE9 支持.无论如何,让webkit浏览器也这样做
- jQuery正在为每个类添加样式,而我说不要这样做