我有这段代码,但我不知道如何将它转换为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 = "";
}
答案 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 ,其中选中了复选框,因为文字 匹配。