[JQUERY] 어떻게 특정 단어의 모든 인스턴스의 / 스타일 / 부품에 jQuery를 사용할 수 있습니까?
JQUERY어떻게 특정 단어의 모든 인스턴스의 / 스타일 / 부품에 jQuery를 사용할 수 있습니까?
해결법
-
1.이를 위해 안정적으로 당신은 텍스트 노드를 찾고, 그 텍스트 검색 문서의 각 요소를 반복해야 할 것이다. (이 플러그인이 문제는 않습니다에서 언급 한 것입니다.)
이를 위해 안정적으로 당신은 텍스트 노드를 찾고, 그 텍스트 검색 문서의 각 요소를 반복해야 할 것이다. (이 플러그인이 문제는 않습니다에서 언급 한 것입니다.)
다음은 정규식 패턴이 일치 할 수있는 일반 자바 스크립트 / DOM 하나입니다. 선택기는 요소를 선택할 수 있기 때문에 jQuery를 정말 여기 당신에게 많은 도움을 제공하지 않으며, '포함'선택은 그렇게하지 우리에게 너무 유용 재귀입니다.
// Find text in descendents of an element, in reverse document order // pattern must be a regexp with global flag // function findText(element, pattern, callback) { for (var childi= element.childNodes.length; childi-->0;) { var child= element.childNodes[childi]; if (child.nodeType==1) { findText(child, pattern, callback); } else if (child.nodeType==3) { var matches= []; var match; while (match= pattern.exec(child.data)) matches.push(match); for (var i= matches.length; i-->0;) callback.call(window, child, matches[i]); } } } findText(document.body, /\bBuyNow\b/g, function(node, match) { var span= document.createElement('span'); span.className= 'highlight'; node.splitText(match.index+6); span.appendChild(node.splitText(match.index+3)); node.parentNode.insertBefore(span, node.nextSibling); });
-
2.정규 표현식과 마음에 대한 대체 () 봄. 같은 뭔가
정규 표현식과 마음에 대한 대체 () 봄. 같은 뭔가
var text = $([selector]).html(); text = text.replace(/Now/g,'<strong>Now<\strong>'); $([selector]).html(text);
HTML 사용에주의의 단어 ()이 작업을 수행합니다. 첫째, href가 다음 잘못 함수에 페이지를 일으킬 수 요소와 다른 속성의 속성에 일치하는 문자열을 대체 할 수있는 가능성이있다. 잠재적 인 문제들을 극복하기 위해 더 나은 정규 표현식을 쓸 수있을 수도 있지만, 성능 (I 더 정규식 전문가는 아니지만) 저하 될 수 있습니다. 둘째, 콘텐츠 교체 HTML ()을 사용하여 이러한 구성 요소에 바인딩 이벤트 핸들러 비 직렬화 된 데이터가 소실되는 등, 그 교체 폼 데이터를 마크 업 발생할 것이다. 더 나은 / 안전 옵션이 될 수 있습니다 만 텍스트 노드를 대상으로하는 기능을 작성, 그냥 페이지가 얼마나 복잡한에 따라 달라집니다.
당신이 HMTL 파일에 액세스 할 수있는 경우, 아마 발견을하고는 내용이 정적 인 경우 파일의 모양을 변경하고자하는 단어를 대체하기 위해 더 좋을 것이다. 메모장 ++의 파일 옵션에서 대부분의 경우이 작업 성능이 좋은입니다 찾을 수 있습니다.
CSS 클래스와 SINGLESHOT의 제안에가는과 <스팬>를 사용하는 것은의 요소를 사용하는 것보다 더 많은 유연성을 줄 것입니다.
-
3.난 그냥 그렇게 약간의 플러그인을 썼다. 비슷한 질문에 대한 내 대답을 살펴보십시오.
난 그냥 그렇게 약간의 플러그인을 썼다. 비슷한 질문에 대한 내 대답을 살펴보십시오.
그것은 훨씬 빨리이다 - 대신 허용 대답에 제안 된 플러그인을 다운로드하는, 나는 강하게 당신은 내가 작성한 플러그인을 사용하는 것이 좋습니다.
-
4.
var Run=Run || {}; Run.makestrong= function(hoo, Rx){ if(hoo.data){ var X= document.createElement('strong'); X.style.color= 'red'; // testing only, easier to spot changes var pa= hoo.parentNode; var res, el, tem; var str= hoo.data; while(str && (res= Rx.exec(str))!= null){ var tem= res[1]; el= X.cloneNode(true); el.appendChild(document.createTextNode(tem)); hoo.replaceData(res.index, tem.length,''); hoo= hoo.splitText(res.index); str= hoo.data; if(str) pa.insertBefore(el, hoo); else{ pa.appendChild(el); return; } } } } Run.godeep= function(hoo, fun, arg){ var A= []; if(hoo){ hoo= hoo.firstChild; while(hoo!= null){ if(hoo.nodeType== 3){ if(hoo.data) A[A.length]= fun(hoo, arg); } else A= A.concat(arguments.callee(hoo, fun, arg)); hoo= hoo.nextSibling; } } return A; } //test **Run.godeep(document.body, Run.makestrong,/([Ee]+)/g);**
-
5.이것은 jQuery를 스크립트가 아니라 순수 자바 스크립트, 나는 그것을 조금 변경 될 수 있다고 생각합니다. 링크.
이것은 jQuery를 스크립트가 아니라 순수 자바 스크립트, 나는 그것을 조금 변경 될 수 있다고 생각합니다. 링크.
from https://stackoverflow.com/questions/1501007/how-can-i-use-jquery-to-style-parts-of-all-instances-of-a-specific-word by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 세트 가시성의 jQuery .hide ()의 등가 : 숨겨진 (0) | 2020.10.30 |
---|---|
[JQUERY] 데이터 속성 JQuery와에 잘못된 값을 얻을 (0) | 2020.10.30 |
[JQUERY] JSF / PrimeFaces 아약스 업데이트 휴식 jQuery를 이벤트 리스너 함수 바인딩 (0) | 2020.10.30 |
[JQUERY] JQuery와 ATTR 한 번만 작동 ( '확인' '확인') (0) | 2020.10.30 |
[JQUERY] 외부 사이트의 페이지를로드 jQuery를 (0) | 2020.10.30 |