Javascript 未捕获的引用错误:$未在iterateId处定义
我知道,基于这个错误,在SO中有很多问题,但我的问题有点不同 我使用for each循环获取元素的id和文本,如下所示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("
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);
}
}