document.getElementById("id")有效,但$("#id")不是jQuery

sty*_*972 1 javascript jquery

我正在迭代一些元素,我发现它document.getElementById("id")有效,但$("#id")没有.为什么?

编辑:我想发布代码不会有什么坏处?

function myFunction() {
    var token, tokens, id, input;
    $("[id^=\"some_id_\"]").each(function() {
        tokens = this.id.split("_");
        id = tokens[tokens.length - 1];
        input = document.getElementById("some_form_element_" + id);  //WORKS
        //input = $("#some_form_element_" + id); //DOESNT, alerts undefined

        alert(input.value);
    });
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*eer 6

你是警告input.value,value没有在jQuery包装器对象上定义.

document.getElementById将直接返回DOM元素.但是$()返回一个包装DOM元素的jQuery对象.您可以使用$('#someId').attr('value');或获取jQuery案例中的输入值$('#someId').val()

这是一个小提琴演示:http://jsfiddle.net/CK2xr/