如何将这个JavaScript转换为jquery?

时间:2012-07-17 19:06:42

标签: javascript jquery

我有这段代码,但我不知道如何将它转换为jquery,因为check变量用于查看if语句中的内容是否至少发生过一次。 gph_img_list是许多单选按钮的名称标签。

    var check = false;
    for (var i=0; i < gph_img_list.length; i++) { 
        if (gph_img_list[i].value == var_gph_img.innerHTML) { 
            gph_img_list[i].checked = true;
            check = true;               
            break;
        }
    }
    if (!check) {
        var_gph_img.innerHTML = "";
    }

2 个答案:

答案 0 :(得分:1)

我不确定通过将其转换为jQuery获得了什么,但基于您所展示的内容,这应该在任何可行的地方使用jQuery完成相同的任务:

var text = $(var_gph_img).html();
var check = false;
$(gph_img_list).each(function() {
    if (this.value == text) {
        check = true;
        $(this).prop("checked", true);
        return(false);  // stop the .each() loop
    }
});
if (!check) {
    $(var_gph_img).html("");
}

如果你想更有效地做到这一点,你必须向我们展示你的HTML,这样我们就可以设计jQuery选择器来完成大部分工作。

答案 1 :(得分:0)

使用 filter 功能......

​var check = $(gph_img_list).filter(function (index, element) {
    return element.value === var_gph_img.innerHTML;
}).first().attr("checked", true).length > 0;

if (!check) { var_gph_img.innerHTML = ""; }

这是一个 fiddle ,其中没有选中复选框,因为文字匹配。 (将div中的'a'更改为x,y或z以查看差异)

以下是 fiddle ,其中选中了复选框,因为文字 匹配。