Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.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
基于it的警报类';使用Javascript/jQuery设置s长度_Javascript_Jquery_String_Class - Fatal编程技术网

基于it的警报类';使用Javascript/jQuery设置s长度

基于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

所以基本上,我只想选择“开”的类,但是基于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>
<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);
  }
});
}