-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

两个问题:

  1. 字符串未连接 - 变量名称需要在字符串之外并使用连接运算符 ( +) 添加。现在您将字符串 'value' 传递给contains(),它只会找到p包含文本 'value' 的元素。相反,使用您声明的变量进行连接,如下所示:

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

    现在value将被传递到 jQuery 选择器中。

  2. 你不需要链接keyup()到最后。不向此方法传递任何参数会触发一个keyup事件,至少在这个有限的示例中,它不会做任何事情。请参阅keyup()此处的 jQuery API:http: //api.jquery.com/keyup/。你用最后一个做的事情.keyup()属于第三类。

希望这可以帮助!

于 2013-07-25T01:41:36.180 回答