-3

这是一个愚蠢的问题,但我可以在 Jquery 的 for 中有一个 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';
};

如果标签有一类“禁用”我不想运行这个我想这样但不能让它工作

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';
    }; 
};
4

2 回答 2

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';
    }; 
};
于 2013-09-12T09:37:35.890 回答
1

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

本来应该

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

     } else {
           if (l.className.indexOf('label_radio') == -1)  continue;
            l.className = 'label_radio r_off';
     }; 
于 2013-09-12T09:38:42.587 回答