2012-11-05 4 views
0

여기 내 질문의 결과로 : Passing site properties with javascript 나는 아래의 코드를 사용하여 한 div에서 다른 곳으로 텍스트를 전달할 때 데이터 - 대상이 일부 요소 클래스와 동일한 경우 페이지. 그 텍스트가 텍스트로 대체 될 수있다 - i 대신 데이터 타겟 값과 동일한 페이지에 텍스트를 입력 할 수 있다면, HTML 요소에 텍스트를 전달하는 경우JS로 계속 사이트 속성

$('#sp').children().each(function() { 
    $($(this).data().target).html($(this).html()); 
}); 

단, I는 궁금 데이터 타겟. 예를 들면 :

<div id="sp" style="display:none;"> 
<span data-target=".busFullName">My Great Company</span> 
</div> 

<!-- On some page --> 
<p>sp.busFullName has been around since 1920</p> 

<!-- Rendered text would be --> 
<p>My Great Company has been around since 1920</p> 

내가 별도의 태그를 내가 만든 속성을 사용할 때마다 만들 필요가 없습니다 이쪽으로.

어떤 통찰력도 인정 될 것입니다. 감사.

+1

당신은 그렇게 할 수 있지만, 의미 코드가 의미가 될 것와 자바 스크립트를하지 않고는 이해할 수없는 것입니다. 아직도 그것을하고 싶습니까? – Sampson

+0

@JonathanSampson 예 아직 어떻게하는지 알고 싶습니다. 나는 소그룹의 사람들이 js를 해제 할 것이라는 것을 알고 있지만,이 경우 많은 사이트 기능이 손상 될 것입니다. – trobbins26

답변

1

클라이언트 환경에서 JavaScript를 사용할 수 없다면 코드가 의미 상 무의미하고 다소 이해할 수 없으므로이 방법을 사용하지 않아도됩니다. 즉 여기 말했다 내가 그것에 대해 갔을 것이다 어떻게되는 :

(function(){ 
    // Containing element's ID 
    var boxID = "#sp"; 
    // All data-target elements within containing element 
    $("[data-target]", boxID).html(function(a,b){ 
     // Pattern of #id.targetValue 
     var pattern = boxID.slice(1) + $(this).data("target"); 
     // Find everything in body that contains this pattern 
     $(":contains("+pattern+")", "body").html(function(c,d){ 
      // Replace instances of pattern in html with html 
      return d.replace(pattern, b); 
     }); 
    }); 
})();​ 

데모 : http://jsfiddle.net/rpHB2/3/

+0

당신은 어떤면에서 그 것이 더 낫다고 제안하겠습니까? 나는 서버 측 코딩에 익숙하지 않아서 제안을하고있다. 어떤 것이 든, 속성 데이터 타겟 값을 가지고있는 별도의 html 페이지를 호출하는 것이 도움이 될 것입니다. 당신이 생각하는 어떤 생각도 도움이 될 것입니다. 감사. – trobbins26

+0

속성이 올바르게 표시되지만 코드가 페이지의 다른 부분을 많이 상하게합니다. 나는 왜이 시점에서, 그러나 그것을 사용할 때 페이지에서 몸 꼬리표를 제거하는지 확실하지 않다. – trobbins26

+0

스크립트에서 (a, b)와 (c, d)의 의미는 무엇입니까? 나는 그것이 다른 기능에 사용되고 있다고 생각하며, 갈등이있다. – trobbins26