그 안에 여러 개의 텍스트 요소가있는 svg 파일로 작업하고 있습니다. 텍스트 요소는 모두 숫자입니다. 값 목록을 가져 와서 다음 코드 줄을 사용하여 배열에 넣을 수 있습니다.svg 텍스트 요소 배열에서 javascript의 indexOf 사용
var fretdata = document.getElementById("fretinformation").getElementsByTagName("text");
나는 같은 [0].textContent
으로 인덱스에 의해 액세스를 또한 배열 요소를 .length
속성을 액세스 할 수있게되었습니다. 그러나 배열에서 .indexOf()
함수를 사용하려고하면 객체 (내 배열)가 indexOf의 속성이나 메서드를 지원하지 않는다는 오류 메시지가 나타납니다.
각 루프가 특정 값의 유무를 확인하면서 배열을 반복 실행하도록 for 루프를 설정할 수 있습니다. 나는 indexOf 기능의 단순성과 함께 무언가가 어레이 안에 존재하는지 그리고 존재하는지 여부를 알려준다. S을 svg 텍스트 요소 배열로 작업 할 수 있습니까? 아니면 루프와 플래그를 사용하지 않아도되는 비슷한 대안이 있습니까?
나는 문자 배열이 아니라 문자열 배열을 가지고 있다는 사실에 문제가 있다고 생각한다. 하지만 직접 루프 작품에 텍스트 요소의 textContent
var fretdata = document.getElementById("fretinformation").getElementsByTagName("text");
//var fretdata = document.getElementById("fretinformation").getElementsByTagName("text").textcontent;
//18th fret is the upper fret limit
//0 fret (open string) is the lower fret limit
//var zerolocation=fretdata.indexOf("0");
for (fd=0;fd<fretdata.length;fd++){
if(fretdata[fd].textContent=="0"){
document.getElementById("downkey").setAttribute("onclick",null);
document.getElementById("downkey").getElementsByTagName("polygon")[0].style.fill="#D3D3D3";
}
}
순회의 배열을 얻을하는 방법을 모르겠어요. 두 줄은 .indexOf를 사용하여 주석 처리하지 않았습니다. 감사합니다, - 크리스토퍼
감사합니다. 한 번 반복을 끝내고 각 textContent 값을 배열에 밀어 넣었으므로 indexOf를 사용하여 값이 배열에 없는지 쉽게 확인할 수 있습니다. –