0

http://www.w3schools.com/jquery/trysel.asp?filename=trysel_basic&jqsel=p.intro,%23chooseにあるjqueryセレクターテストのコードを理解しようとしています。

エラーが発生しました:

キャッチされない構文エラー、認識されない式: "h1" jquery.js:4241

テキストボックスにh1と入力すると、Chromeデベロッパーツールで。<h1>右に、タグ内にある「WelcometoMyHomepage」を強調表示する必要があります。

誰かが私がどこで間違っているのか指摘できますか?ありがとうございました。

以下は私のコードです:

<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>
4

4 に答える 4

2

「hl_str」文字列を作成するときに引用符は必要ありません。

試す:

var hl_str = $(":text").val();
于 2012-06-29T07:21:05.047 に答える
1

effect()jQueryの機能ではありません。

于 2012-06-29T07:35:30.410 に答える
1

一部のオブジェクトと一致していないだけだと思います。代わりに、contains を使用して値を検索することをお勧めします。

jQuery('p:contains("Donald")').effect("highlight",{color:"#ff0000"},3000);

http://api.jquery.com/contains-selector/

于 2012-06-29T07:27:21.113 に答える
0

私は完璧ではありませんが、可能な方法だと思います:

JS:

$("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:

.effect{ color: #ff0000; }

このデモで見られるように動作しませんが、これは最初のポイントです ;-)

于 2012-06-29T07:59:38.843 に答える