2014-10-17 4 views
0

"h3"태그 사이의 텍스트를 변경하려고합니다. 새 텍스트는 json-file에서 이동해야합니다. 그러나 프로그래머는 json 파일의 필드를 올바르게 읽는 동안 "h3"요소를 찾을 수 없습니다.왜 ID를 찾을 수 없습니까?

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

json으로 액세스하려고 할 때 더는 아직로드하지 않습니다 괜찮습니다. 온라인 서비스를 확인했습니다 –

+0

jQuery가 순수 json이 아니라면 해당 라이브러리를 가지고 있는지 확인하십시오. – meda

+0

정확한 코드인지 확인하십시오. '(str) .find ("h3")'는'undefined is not a function'이나 비슷한 것을 던져야하기 때문에'str'은 문자열이고, 문자열에는'find' 함수가 없기 때문입니다. –

답변

2

당신이 jQuery를 기능을 누락 보이는 다음은 JSON 파일의 일부이다. 여기 :

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

그것을 사용 : 내가 JSON에서 일부 누락 된

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

을을 yor 문제는 : 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) 
+0

좋은 캐치 내가 방금 이걸 알아 냈어 – meda

+0

죄송합니다. 내 코드가 잘못 붙여졌습니다. 물론, 나는 함수를 가지고 있었기 때문에 $가 문제를 해결하지 못한다 :-( –

+0

JSON이 잘못 반복되고 JSON이 배열이 아니므로 .length 속성이있다. 내 게시물을 편집하여 일부 코드 – afmeva

관련 문제