我正在尝试更改" h3"之间的文字。标签。应该从json文件移动新文本。但是,当正确读取json文件中的字段时,程序找不到" h3" -element。 这是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>
答案 0 :(得分:2)
它看起来你缺少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)