Javascript 未捕获的引用错误:$未在iterateId处定义

Javascript 未捕获的引用错误:$未在iterateId处定义,javascript,jquery,Javascript,Jquery,我知道,基于这个错误,在SO中有很多问题,但我的问题有点不同 我使用for each循环获取元素的id和文本,如下所示 function iterateId(id){ $("input[id*='" + id + "']").each(function(){ var idOfRadioButton = $(this).attr('id'); var textOfRadioButton = $(this).closest("div").children("

我知道,基于这个错误,在SO中有很多问题,但我的问题有点不同

我使用for each循环获取元素的id和文本,如下所示

function iterateId(id){

    $("input[id*='" + id + "']").each(function(){
        var idOfRadioButton = $(this).attr('id');
        var textOfRadioButton = $(this).closest("div").children("label").first().text();
        console.log(textOfRadioButton);
        console.log(idOfRadioButton);
    });

}
我使用for循环从数组中传递id,如下所示

window.radioButtonOrNot = function(inputArray){

    var array = inputArray;

    for (i = 0; i < array.length; i++) {
        console.log("Came " + array[i]);
        iterateId(array[i]);
    }

};

正如
freedomn-m
所说,可能是我的代码在Jquery初始化之前运行。因此,我遵循以下方法以下方法不是解决方案,但它是实现解决方案的另一种方法

我使用了JavaScript而不是jQuery
如下所示

var inputId = document.querySelectorAll("input[id*='" + id + "']");
for(i = 0; i < inputId.length; i++){
    console.log(inputId[i].id);

    if(document.getElementById(inputId[i].id) != null){
        console.log(document.querySelector('label[for*='+ inputId[i].id +']').innerHTML);
    }

}
var-inputId=document.querySelectorAll(“输入[id*=”+id+“]”);
对于(i=0;i

现在一切正常了……

请分享一个工作片段,演示您面临的问题。
$(“输入[id*=”“+id+”])。每个(函数(){
这看起来有点可疑。
id
是唯一的,那么有什么原因需要迭代吗?@gurvinder372请检查编辑器您一定做了一些事情删除了
$
全局变量。虽然您说您已经包含了jquery,但错误表明不是这样。可能是您的代码在加载jquery之前运行。
var inputId = document.querySelectorAll("input[id*='" + id + "']");
for(i = 0; i < inputId.length; i++){
    console.log(inputId[i].id);

    if(document.getElementById(inputId[i].id) != null){
        console.log(document.querySelector('label[for*='+ inputId[i].id +']').innerHTML);
    }

}