基于it的警报类';使用Javascript/jQuery设置s长度
所以基本上,我只想选择“开”的类,但是基于2的类长度基于it的警报类';使用Javascript/jQuery设置s长度,javascript,jquery,string,class,Javascript,Jquery,String,Class,所以基本上,我只想选择“开”的类,但是基于2的类长度 <div class="film cars-0317219 on"></div> <div class="film wall-e-0910970 on"></div> <div class="film off up-0945232"></div> <div class="film on finding-nemo-0266543"></div> &l
<div class="film cars-0317219 on"></div>
<div class="film wall-e-0910970 on"></div>
<div class="film off up-0945232"></div>
<div class="film on finding-nemo-0266543"></div>
<div class="film off cars-0317219"></div>
应提醒“注意”
知道如何根据字符串长度获取警报吗?(同样,如果我在代码中输入3而不是2,它应该发出“关闭”警报)
做你想做的事情的更好方法: 请记住,
$('.film')
在执行这些类型的操作时,将仅获取该类的第一个元素,除非该元素位于类似于单击的处理程序中,在这种情况下,您将使用$(this)
做你想做的事情的更好方法:
请记住,在执行这些类型的操作时,$('.film')
将仅获取该类的第一个元素,除非这是在类似于单击
的处理程序中,在这种情况下,您将使用$(this)
您应该执行以下操作:
alert(classes[1]);
javascript中的数组是基于零的,因此第二个元素的索引为1(第三个元素的索引为2)
编辑-现在我明白了OP的意思是单词的长度(2个字母):
var classes=$(this.attr(“class”).split(“”);
对于(i=0;i你应该做:
alert(classes[1]);
javascript中的数组是基于零的,因此第二个元素的索引为1(第三个元素的索引为2)
编辑-现在我明白了OP的意思是单词的长度(2个字母):
var classes=$(this.attr(“class”).split(“”);
对于(i=0;i如果您只想提醒特定长度的类,可以这样进行
a=['film', 'cars-0317219', 'on'];//same as your var classes;
var status = a.filter(function(x){
return x.length==this.size;
},{size:2});//contains ['on']
不过,过滤器是为firefox实现的,我不知道是否适用于其他浏览器。如果您只想提醒特定长度的类,可以这样进行
a=['film', 'cars-0317219', 'on'];//same as your var classes;
var status = a.filter(function(x){
return x.length==this.size;
},{size:2});//contains ['on']
function something(){
var classSplitOn =" ";
var desiredCount = 2;
var onClassSelector = ".on";
$('.film').each(function(index,elem){
var classString = elem.className;
if(classString && classString.split(classSplitOn).length == desiredCount){
var alertVal = "off";
if($(this).is(onClassSelector)){
alertVal = "on";
}
alert(alertVal);
}
});
}
但是过滤器是为firefox实现的,我不知道是为其他浏览器实现的。而且你想要得到的不仅仅是上的?如果碰巧还有一个类ok
你也会想要得到它?(基于获得所有长度==2)你绝对必须基于长度进行测试?$(这个)。hasClass(“开”)
是不可能的?@rockerest是的,它只是基于长度。@Stephen length==2警报由于某种原因而没有定义,而不是on。另外,如果它是类ok,我也想得到它。@Maverick-我没有提供语法,只是要求澄清。我不希望length==2
在没有上下文的情况下工作,我也没有ovide.而且你想得到的不仅仅是on
?如果碰巧还有一个类ok
,你也会想要得到它?(基于获得所有长度==2)你绝对必须基于长度进行测试?$(这个)。hasClass(“on”)
是不可能的?@rockerest是的,它只是基于长度。@Stephen length==2警报由于某种原因而没有定义,而不是on。另外,如果它是类ok,我也想得到它。@Maverick-我没有提供语法,只是要求澄清。我不希望length==2
在没有上下文的情况下工作,我也没有更新的代码,但它可以是任意两个字母,所以它只能基于length@Mavrick--什么是任意两个字母
?更新了代码,但它可以是任意两个字母,因此它只能基于length@Mavrick--你说任何两个字母是什么意思?我需要确定它是交叉的我需要确定它是交叉的browseron或ok可以位于类属性中的任何位置,因此我需要确保根据其长度抓取它并提醒iton或ok可以位于类属性中的任何位置,因此我需要确保根据其长度抓取它并提醒它。您可能希望将我的函数传递到您的.live()中声明。你甚至可以开始传递数据,可能是我在上面设置的三个变量。你想让它在每个“有X个”类上激发,并且是在“每次单击”上,还是只计算当前单击的元素?你想把我的函数传递到你的.live()中声明。你甚至可以开始传递数据,可能是我在上面设置的三个变量。你想让它在每个“有X个”类上激发,并且是在“每次单击”上,还是只计算当前单击的元素?
function something(){
var classSplitOn =" ";
var desiredCount = 2;
var onClassSelector = ".on";
$('.film').each(function(index,elem){
var classString = elem.className;
if(classString && classString.split(classSplitOn).length == desiredCount){
var alertVal = "off";
if($(this).is(onClassSelector)){
alertVal = "on";
}
alert(alertVal);
}
});
}
function something(){
var classSplitOn =" ";
var desiredCount = 2;
var onClassSelector = ".on";
$('.film').each(function(index,elem){
var classString = elem.className;
if(classString && classString.split(classSplitOn).length == desiredCount){
var alertVal = "off";
if($(this).is(onClassSelector)){
alertVal = "on";
}
alert(alertVal);
}
});
}