我知道,基于这个错误很多可用的问题,但我的问题有点不同。
我正在使用每个循环来获取元素的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]);
}
};
当我按照上述方法操作时,会收到错误Uncaught ReferenceError: $ is not defined at iterateId
。任何人都知道我在做错的地方
修改
我也包含了jQuery。以下是工作方案
window.setText = function(id, text){
if($("input[id$='" + id + "']").is(':visible')){
$("input[id$='" + id + "']").val(text);
}
};
答案 0 :(得分:0)
如freedomn-m
所述,可能是我的代码在Jquery初始化之前运行。所以,我遵循了以下方法。 以下方法不是解决方案,但它是实现解决方案的另一种方法
I've used JavaScript instead of 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);
}
}
现在一切正常......