如何将这个javascript转换为jquery

how to convert this javascript to jquery?

本文关键字:转换 jquery javascript      更新时间:2023-11-21

我有这段代码,但我不确定如何将其转换为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 = "";
    }

我不确定将其转换为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选择器来完成大部分工作。

使用过滤器函数。。。

​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 = ""; }

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

这是一个fidd,其中有一个复选框被选中,因为文本确实匹配。