2012-06-29 4 views
0

나는 http://www.w3schools.com/jquery/trysel.asp?filename=trysel_basic&jqsel=p.intro,%23choose에있는 jquery 선택기 테스트 코드를 알아 내려고하고 있습니다. 내가 텍스트 상자에 H1을 입력 할 때 크롬 개발자 도구에서jquery 하이라이트 효과

Uncaught Syntax error, unrecognized expression: "h1" jquery.js:4241

:

나는 오류를 받고 있어요. 오른쪽으로 "내 홈페이지에 오신 것을 환영합니다"라는 글자가 <h1> 태그 안에 있어야합니다.

누군가 내가 잘못 가고있는 부분을 지적 할 수 있습니까? 고맙습니다. 은 "hl_str"문자열을 구축 할 때 당신은 따옴표가 필요하지 않습니다

<html> 
<head> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
    $(":button").click(function(){ 
     var hl_str= '"'+$(":text").val()+'"'; 
     //document.write(hl_str); 
     $(hl_str).effect("highlight",{color:"ff0000"},3000); 
    }); 
}) 
</script> 
</head> 
<body> 
<input type="text"> 
<input type="button" value="Edit and Click Me"> 
<h1>Welcome to My Homepage</h1> 
<p class="intro">My name is Donald</p> 
<p>I live in Duckburg</p> 
<p>My best friend is Mickey</p> 
Who is your favourite: 
<ul id="choose"> 
<li>Goofy</li> 
<li>Mickey</li> 
<li>Pluto</li> 
</ul> 
</body> 
</html> 
+1

'effect()'에 Jqeury UI 라이브러리를 사용하고 있습니까? –

+1

다음과 같은 것을 확인하십시오. http://jsfiddle.net/joycse06/NaM3N/ –

+0

jquery UI 라이브러리가 없습니다. jquery.js 만 있습니다. jquery UI는 어디에서 무료로 다운로드 할 수 있습니까? 예 기쁨, 내가 원하는 건 jsfiddle 웹 사이트에서와 똑같습니다. – vaanipala

답변

2

:

다음은 내 코드입니다.

시도 :

var hl_str = $(":text").val(); 
+0

그는 Jquery UI 라이브러리를 사용하고 있지 않습니다. –

+0

문제의 버그는 문자열에 큰 따옴표가 포함되어 있기 때문에 발생합니다. –

+0

네,하지만 그는 UI도 사용하고 있지 않습니다. –

1

effect() jQuery를의 함수가 아닌 값을 검색 포함 사용해보십시오 좋습니다.

JS :

0

I'ts 완벽한하지만 난 생각이 할 수있는 가능한 방법이다

$("input[type=button]").click(function(){ 
     var hl_str = $("input[type=text]").val(); 

    $('#mycontainer').find('*').contents().each(function() { 
     if(this.nodeType == 3) { 
      var txt = $(this).text().replace(hl_str, '<span class="effect">'+hl_str+'</span>'); 
      $(this).parent().html(txt); 
     } 
    }); 

}); 

CSS :이 demo에 볼처럼

.effect{ color: #ff0000; } 

가 작동하지 않음 , 그러나 초기 지점입니다 ;-)