-1

私はjQueryにかなり慣れていないので、.val()と:contains()を組み合わせようとしているときにこの問題に遭遇しました。テキストフィールドから入力を取得し、その入力が段落にあるかどうかを確認し、その段落で強調表示しようとしています。ここにあるすべてのコードは、jQuery API から取得した情報に厳密に基づいていますが、機能させることができません。

ここで jsfiddle を参照してください: http://jsfiddle.net/tUKp8/

ここに私のjQueryコードがあります:

$("input").keyup(function () {
  var value = $(this).val();
  $("p:contains('value')").css("text-decoration", "underline");
}).keyup();
4

2 に答える 2

2

あなたが必要

$("p:contains(" + value +" )").css("text-decoration", "underline");
于 2013-07-25T01:10:42.547 に答える
1

2 つの問題:

  1. 文字列は連結されていません。変数名は文字列の外側にあり、連結演算子 ( ) を使用して追加する必要があります+。現在、文字列 'value' を に渡しています。これは、テキスト 'value' を含む要素contains()のみを検索します。p代わりに、次のように、宣言した変数を使用して連結します。

    $("p:contains(" + value + ")").css("text-decoration", "underline");
    

    valueこれで、jQuery セレクターに渡されます。

  2. 最後まで連鎖する必要はありませんkeyup()。このメソッドに引数を渡さないとkeyupイベントがトリガーされますが、少なくともこの限られた例では何もしません。http://api.jquery.com/keyup/の jQuery API を参照してkeyup()ください。最後に行っていることは、3 番目のカテゴリに分類されます。.keyup()

お役に立てれば!

于 2013-07-25T01:41:36.180 に答える