javascript - 为什么找不到id?

标签 javascript json selection steroids

我正在尝试更改“h3”标签之间的文本。新文本应从 json 文件中移出。但是,当正确读取 json 文件中的字段时,程序无法找到“h3”元素。 这是 json 文件的一部分:

var teachers=JSON.parse( string_teachers );  
var i;
var T_name;
var Subject;
for (i=1; i<teachers.Teachers.length+1; i++) {
  T_name=teachers.Teachers[i-1].T_name;
   Subject=teachers.Teachers[i-1].Subject;
   var str="#"+i;
    $(str).find("h3").text(T_name);
 }

以及 html 的一部分:

 <div class="grid" id="1">

     <img src="teachers/bobr.jpg">
     <h3 >Боброва Даша</h3>
     <p>Математический анализ</p>
</div>
<div class="divider">
<img src="views/divider.png" >
</div>
<div class="grid" id="2">
    <img src="teachers/korolev.jpg">
        <h3>Королев Даня</h3>
        <p>Программирование 1</p>
    </div>

最佳答案

看来您缺少 jQuery 函数。这里:

 (str).find("h3").text(T_name);

使用它:

 $(str).find("h3").text(T_name);

我在 JSON 中遗漏了一些内容,你的问题是:当你尝试访问它时,DOM 尚未加载

function foo() {

var string_teachers = '{"Teachers":[{"T_name":"value1", "Subject": "value2"},{"T_name":"value2",           "Subject": "value2"}]}'

var teachers = JSON.parse(string_teachers);
var i;
var T_name;
var Subject;
for (var i = 0; i < teachers.Teachers.length; i++) {
    T_name = teachers.Teachers[i].T_name;
    Subject = teachers.Teachers[i].Subject;
    var str = "#" + (i+1);
    console.log(str)
    $(str).find("h3").html(T_name);
}
}
$(document).ready(foo)

关于javascript - 为什么找不到id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26433753/

相关文章:

c++ - 模板:在运行时从非类型化参数实例化(并引用)?

javascript - 如何替换js中的文本?

python - 使用 simplejson 序列化简单类对象的最简单方法?

java - GSON和反序列化错误

java - 所需的 Json 输出 Java

javascript - Wordpress 移动菜单 JQuery 选择器问题

javascript - 重复异步函数 10 次

javascript - 如何检测手机或移动设备?

javascript - 查询 flickr api

c# - 检测文本框中的某些文本已被选中