2014-10-21 1 views
2

내가 의미하는 바를 설명하려고하는 말로 자신을 잃기 전에, 다음은 내가 성취하고자하는 것을 보여주는 예입니다.<li></li> 사이에 특정 텍스트의 다른 스타일을 줄 바꿈하기 전에 콜론 ":"을 입력 하시겠습니까?

지금 얼마나 :

<ul> 
<li>My name: Sietse</li> 
<li>Country: The Netherlands</li> 
</ul> 

나는 싶습니다 방법 : 마크 업되어 내 웹 사이트에있는 기존 내용이 많이

<ul> 
<li><strong>My name:</strong> Sietse</li> 
<li><strong>Country:</strong> The Netherlands</li> 
</ul> 

있다 첫 번째 예제와 마찬가지로 두 번째 예제에 표시된 것처럼 LI의 콜론 (포함 할 수 있음)까지 텍스트를 동적으로 선택하고 스타일을 지정할 수있는 방법이 있습니까?

나는 그 문제에 대해 jQuery 나 자바 스크립트의 절대 초보자입니다.

미리 감사드립니다.

+0

당신은 촌 할 수 없습니다 텍스트를 요소로 만들지 말라. 이것은 JavaScript로 동적으로 수행 할 수 있지만 구조적 기능이 더 많으므로 원하는 마크 업으로 변경하는 것이 어떻습니까? 또는 표에 표시 될 수도 있습니다. 표가 단순한 목록보다 더 비슷하기 때문입니다. –

+0

http://jsfiddle.net/ckoa23y9/ – undefined

+0

파일에서 찾기 및 바꾸기로 30 분 정도를 보내고 수정하십시오. 모든 요청에 ​​대해 동적으로 패치하는 것이 아닙니다. – Adrian

답변

4

당신은 다음과 같은 시도

$('ul li').html(function (i, html) { 
 
    return html.replace(/(.*?:)/, '<strong>$1</strong>') 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<ul> 
 
    <li>My name: Sietse</li> 
 
    <li>Country: The Netherlands</li> 
 
</ul>

+0

와우, 정말 고마워, 그 매력처럼 작동하고 정확히 내가 무엇을 필요가있다! – dbj

0

처럼 .html() 및 문자열 replace()을 사용할 수 있습니다

$(function() { 
 
    $("ul li").each(function() { 
 
    if ($(this).text().indexOf(':') > -1) { 
 
     $(this).html('<strong>' + $(this).html().split(':').join(':</strong>')); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<ul> 
 
    <li>My name: Sietse</li> 
 
    <li>Country: The Netherlands</li> 
 
</ul>

+0

다른 빠른 답변을 보내 주셔서 감사합니다. 그러나 Arun P Johny가 제시 한 솔루션처럼 보일지라도 상자에서 벗어나지는 않습니다. 콘텐츠 텍스트에있는 것보다 너무 많은 LI를 타겟팅한다고 생각합니다. – dbj

관련 문제