在Javascript中使用变量保持选择器

在Javascript中使用变量保持选择器,javascript,jquery,Javascript,Jquery,如果我将类选择器存储在变量中,如: $(".focus-button").addClass('active'); $(".focus-button[data-expand='true']").addClass('active'); 该变量可以在代码中用作 var btn = $(".focus-button"); 请告诉我如何正确使用带属性的变量。您可以使用添加其他选择器的方式 将匹配的元素集减少为与选择器匹配或通过函数测试的元素集 例如: btn.addClass('active'); /

如果我将类选择器存储在变量中,如:

$(".focus-button").addClass('active');
$(".focus-button[data-expand='true']").addClass('active');
该变量可以在代码中用作

var btn = $(".focus-button");
请告诉我如何正确使用带属性的变量。

您可以使用添加其他选择器的方式

将匹配的元素集减少为与选择器匹配或通过函数测试的元素集

例如:

btn.addClass('active'); // This is correct
btn[data-expand='true'].addClass('active'); // This is wrong
在哪里

var btn = $(".focus-button");
btn.filter("[data-expand='true']")
您可以使用以所需的方式添加其他选择器

将匹配的元素集减少为与选择器匹配或通过函数测试的元素集

例如:

btn.addClass('active'); // This is correct
btn[data-expand='true'].addClass('active'); // This is wrong
在哪里

var btn = $(".focus-button");
btn.filter("[data-expand='true']")
情况:

在实际代码中,如果您编写:

$(".focus-button[data-expand='true']")
var btn = $(".focus-button");
您将通过类焦点按钮获得所有元素的集合,因此当您编写时,btn.addClass'active';这是正确的,它会将活动类添加到此集合中的所有元素

问题:

当你写作时:

$(".focus-button[data-expand='true']")
var btn = $(".focus-button");
这是错误的,因为JavaScript将在访问btn对象中的属性时对其进行解释,因为[]仅用于通过数组中的索引访问对象中的特定属性或特定元素

btn[data expand='true']只是一个CSS选择器

解决方案:

您可以按照注释中的建议使用,如下所示:

btn[data-expand='true'].addClass('active');
情况:

在实际代码中,如果您编写:

$(".focus-button[data-expand='true']")
var btn = $(".focus-button");
您将通过类焦点按钮获得所有元素的集合,因此当您编写时,btn.addClass'active';这是正确的,它会将活动类添加到此集合中的所有元素

问题:

当你写作时:

$(".focus-button[data-expand='true']")
var btn = $(".focus-button");
这是错误的,因为JavaScript将在访问btn对象中的属性时对其进行解释,因为[]仅用于通过数组中的索引访问对象中的特定属性或特定元素

btn[data expand='true']只是一个CSS选择器

解决方案:

您可以按照注释中的建议使用,如下所示:

btn[data-expand='true'].addClass('active');
请尝试以下代码段:

//$.focus按钮.addClass'active'; //$.focus按钮[data expand='true'].addClass'active'; var btn=$.focus按钮; //btn.addClass“活动”; btn.filter[data expand='true'].addClass'active'; .主动{ 背景:2000人; 颜色:fff; } F E试试这个片段:

//$.focus按钮.addClass'active'; //$.focus按钮[data expand='true'].addClass'active'; var btn=$.focus按钮; //btn.addClass“活动”; btn.filter[data expand='true'].addClass'active'; .主动{ 背景:2000人; 颜色:fff; } F E试试这个代码

btn.filter("[data-expand='true']").addClass('active');
试试这个代码

btn.filter("[data-expand='true']").addClass('active');

filter btn.filter[data expand='true']filter btn.filter[data expand='true']谢谢您提供的信息。祝你度过愉快的一天。谢谢你提供的信息。祝你今天愉快。谢谢你的回答。祝你今天愉快谢谢你的回答。祝你今天愉快谢谢你的回答。祝你今天愉快谢谢你的回答。祝你今天愉快谢谢你的回答。祝你今天愉快谢谢你的回答。祝你有美好的一天