2009-08-12 2 views
1

제목과 마찬가지로jQuery "&"의 각 인스턴스를 스왑하는 방법 각 요소에 <span> 태그 추가

#wrapper에있는 텍스트를 통해 페이지로드시 검색 할 수 있기를 원합니다.

"&"이 있다면 span 태그가 적용되고 span에 클래스가 추가되기를 원합니다. 예 : "hello & Welcome" 을 찾으면 "hello <span class="amp">&</span> Welcome"처럼 끝나야합니다.

시도해 본 일부 코드가 있었지만 모두 제대로 작동하지 않아서 무의미했습니다. 어떤 도움을 주셔서 감사합니다.

<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#wrapper").html($("#wrapper").html().replace(/&amp;/g, '<span class="amp">&amp;<"+"/span>')); 
    }); 
</script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
    $("#wrapper").html($("#wrapper").html().replace(/&amp;/g, '<span class="amp">&amp;<"+"/span>')); 
    }); 
</script> 

이 파일은 함수가 아니라는 것을 알려주는 오류와 함께로드됩니다.

$는 함수 $ (문서)가 아닙니다. 준비 (function() {

편집 : oops가 jQuery에 대한 참조를 포함하는 것을 잊어 버렸습니다 ..

이 작품 .

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#wrapper").html($("#wrapper").html().replace(/&amp;/g, '<span class="amp">&amp;<"+"/span>')); 
    }); 
</script> 

답변

1

jquery.highlight을 보았습니까? 올바른 방법 (텍스트 노드 내에서만 검색 등)

$("#wrapper").highlight('&'); 

조금 더 자세히 설명합니다. 다음과 같은 시나리오를 상상해 :

<div id='wrapper'>This &amp; should become highlighted. 
    And a picture: <img src='momanddad.jpg' alt='Mom &amp; Dad' /></div> 

담요의 정규 표현식 그 &amp; 발생 모두를 잡을 것입니다 교체와 함께 반환이 분명히 당신의 IMG 태그를 깰 것입니다

<div id='wrapper'>This <span class="amp">&amp;</span> should become highlighted. 
    And a picture: <img src='momanddad.jpg' alt='Mom <span class="amp">&amp;</span> Dad' /></div> 

. jquery highlight 플러그인은이를 피할 수 있습니다.

+0

감사합니다. gnarf가 문제였습니다. 페이지가로드 될 때 특정 ID의 HTML (#post) 을 확인한 후 &에 해당하면 span 태그로 그 스팬에 적용된 클래스를 포함합니다. 즉, <스팬 클래스 = "A"> & 위의 코드 량, – Marty

+1

내가 이해 :하지만 당신은 또한 " & 아빠로 Mom & Dad를 돌려 끝날 것 /> 당신이 원하는 필요하지 않은 - jquery.highlight 라이브러리 핸들. 단지 "텍스트 노드"를 보입니다 – gnarf

+0

정말 고마워요. – Marty

0

읽기 쉽게하기 위해 다시 생각해 보겠습니다.

var html = $("#wrapper").text().replace(/&/g,'<span class="amp">&</span>'); 
$("#wrapper").html(html); 

DOM에 대한 추가 호출이라고 가정합니다.

+0

그건 완전히 무의미합니다.변수를 한 번만 사용하면 변수를 설정할 이유가 없습니다. –

+0

당신은 아마 옳을 것입니다. 나는 눈이 멀게 분명해지기를 좋아합니다 :-) – paulb