我可以在一个for中有一个If

时间:2013-09-12 09:23:13

标签: jquery if-statement for-loop labels

这是一个愚蠢的问题,但我可以在Jquery中使用if吗?

代码是

if (this.className == 'label_radio r_off' || inp.checked) {
    var ls = gebtn(this.parentNode,'label');
    for (var i = 0; i < ls.length; i++) {
        var l = ls[i];
        console.log(l);
        if (l.className.indexOf('label_radio') == -1)  continue;
        l.className = 'label_radio r_off';
    };
    this.className = 'label_radio r_on';
    if (safari) inp.click();
} else {
    this.className = 'label_radio r_off';
    if (safari) inp.click();
};

我试图在第一个

中添加if
for (var i = 0; i < ls.length; i++) {
    var l = ls[i];
    console.log(l);
    if (l.className.indexOf('label_radio') == -1)  continue;
    l.className = 'label_radio r_off';
};

如果标签有一个&#34;禁用&#34;那么我不想运行它。 我觉得这样的事情但不能让它发挥作用

for (var i = 0; i < ls.length; i++) {
    var l = ls[i];
    console.log(l);
    if (l.className == 'disabled') {
        alert('hello');
    } else {
        if (l.className.indexOf('label_radio') == -1)  continue;
        l.className = 'label_radio r_off';
    }; 
};

2 个答案:

答案 0 :(得分:2)

如果您已经在使用jQuery,请使用其函数,例如hasClass

  

如果将类分配给.hasClass()方法将返回true   元素,即使其他类也是。

来源:http://api.jquery.com/hasClass/

导致类似:

for (var i = 0; i < ls.length; i++) {
    var l = ls[i];
    console.log(l);
    if ($(l).hasClass('disabled')) {
        alert('hello');
    } else {
        if ($(l).hasClass('label_radio'))  continue;
        l.className = 'label_radio r_off';
    }; 
};

答案 1 :(得分:1)

感谢所有帮助....和评论

应该是

if (l.className == 'disabled label_radio') {

     } else {
           if (l.className.indexOf('label_radio') == -1)  continue;
            l.className = 'label_radio r_off';
     };