更优雅的(un)检查jQuery的方式?

时间:2014-03-28 13:28:04

标签: javascript jquery checkbox

我试图在jQuery中完全编写此复选框的脚本检查/取消选中代码片段,但它没有任何成功。这是jQuery / JavaScript代码:

$.ajax({
                type: "GET",
                url: "check.xml",
                cache: false,
                dataType: "xml",
                success: function(xml) {
                    $(xml).find("check").each(function(){
                        $(xml).find("todo").each(function(){
                            var state = $(this).attr("state");
                            if (state == "true") {
                                document.getElementById($(this).attr("id")).checked = true;
                            } else {
                                document.getElementById($(this).attr("id")).checked = false;
                            }
                        });
                    });
                }
            });

很可能只使用jQuery来执行document.getElementbyId(blablabla)....。我试过这个:

($(this).attr("id")).prop("checked", true)

但这并没有像预期的那样真正发挥作用。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

你需要这样做(注意#符号来获取ID中的元素 - 与CSS选择器相同的规则) -

var id = $(this).attr("id");
$('#'+ id).prop("checked", true);

答案 1 :(得分:0)

你错过了选择器中的“#”:

var id = '#'+ $(this).attr("id");

然后你可以做一个班轮而不是“如果”:

$(id).prop("checked", (state == "true"));