2016-07-28 2 views
1

JS에서로드 할 때 양식의 모든 레이블을 바꾸려고하는데 행운이 없습니다.양식의 모든 레이블에 대체 사용하기

$(document).ready(function($){ 
    $('.label').each(function(e){ 
     document.getElementById($(this)).textContent = document.getElementById($(this)).innerHTML.replace("and", "&"); 
    }); 
}); 

내가 더 나은 모르는 : .innerHTML 또는 .textContent. 둘 다 내 목표를 달성하는 것 같습니다. 미리 감사드립니다.

테스트 후 : 나는 아래 코드가 작동하도록하고 싶습니다.

$('label').text(function(i, text) { 
    return text.replace("and", "&"); 
}) 

모두의 의견에 감사드립니다. 간단한 루프로 작업 할 코드를 얻었습니다.

var myElements = document.getElementsByTagName("LABEL"); 
for(var k=0; k<myElements.length; k++){ 
    myElements[k].innerHTML = myElements[k].innerHTML.replace("and", "&"); 
} 
+0

당신이 할 수있는 당신이 jQuery를 사용하고 있기 때문에 this :'$ ('. label'). text (function (i, text) {return text.replace ("and", "&");})'! –

+0

조금 더 자세하게 설명해 주시겠습니까? 나는 그것을 깨끗하게하는 것이 좋아하지만 그것을'.each (function (e)) {'단순히'$ (document) .ready (function ($) {'doesnt work)에 던져 넣을 것이다. – Dstjohniii

+0

이 예제는 https://jsfiddle.net/iRbouh/59z31qm3/에서 볼 수 있습니다. 예를 들어 답변을 게시하지 않았기 때문에 ** 및 idk는. ** –

답변

-1

우선 저는 개인적으로 innerHTML을 사용합니다. 당신은 모두

document.getElementById(); 

$(this) 

는 루프 내부에이 시도 사용할 필요가 없습니다 : 그러나

var toReplace=$(this).innerHTML; 
toReplace.replace("and", "&"); 

, 참고

document.getElementById("x"); 

것입니다 만 잡아 찾고있는 경우 ID가 "x"인 첫 번째 요소 다음, 그들에게 모두 같은 클래스 이름을주고, 여러 요소를 잡아

myElements=document.getElementsByClassName("classname"); 

으로 배열로 잡아 다음과 같이 대체하도록 반복 :

for (i=0; i<myElements.length; i++){ 
    myElements[i].innerHTML.replace('and', '&'); 
} 
+0

'var myElements = document.getElementsByTagName ("LABEL");' 'for (var k = 0; k Dstjohniii

+0

루프를 통해 실행하고 요소에 액세스하는 아이디어를 주었기 때문에이를 올렸습니다. 실제 승자는 getElementsByTagName ("LABEL")입니다. – Dstjohniii