Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery正在向每个类添加样式,而我说的是不要_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery正在向每个类添加样式,而我说的是不要

Javascript jQuery正在向每个类添加样式,而我说的是不要,javascript,jquery,html,Javascript,Jquery,Html,我已经设置了一个名为“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

我已经设置了一个名为“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>
还是没有解决我的问题



为了根据数据属性进行选择,您需要使用

$(".slide[data-sel='true']").css({'display': 'inline-block'});
实际上,您正在使用
slide
类选择所有元素,然后设置它们的
datasel
属性

这是文件

您正在使用将“数据选择”属性设置为true

$(".slide").data("sel", 'true');
这样做的目的是使用类“slide”获取所有div,并为其上的键“sel”设置值“true”。因此,
selTrue
是一个包含所有div的jQuery数组,类为
。slide
。然后为数组中的所有元素(页面上的4个div)设置
display:inline block

您要做的是:
$('.slide[data sel=“true”]').css('display','inline block')


方括号表示基于属性的查询。

哦,哇,非常简单的修复,真不敢相信我被困在这个问题上了。无论如何,谢谢!我一定会投最好的票(如果它有效的话)。只需添加它就可以了。幻灯片[data sel='true']否?@EduardoQuintana and Barmar,是的。@user3314062我应该给你自己编辑的机会…跳跃的编辑手指。没有必要循环和遍历条件。很容易根据数据属性进行选择。下面是我的答案,我从来不喜欢使用属性选择器。还有一些错误与开放的门票。但是它可能更快。由于方法链接,
selTrue==$(“.slide”)
@Barmar,啊,我不认为数据函数上有链接。所有不需要返回其他内容的jquery函数都是可链接的<带有一个参数的code>.data()返回数据值,因此无法链接。但是带有两个参数的
.data()
是可链接的。
$(".slide").each(function () {
    if ($(this).data("sel") === true) {
        $(this).css({'display': 'inline-block'});
    }
});
$(".slide").data("sel", 'true');
var selTrue = $(".slide").data("sel", 'true');