结合jQuery .val()和.contains()

时间:2013-07-25 01:09:40

标签: javascript jquery html

我是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();

2 个答案:

答案 0 :(得分:2)

你需要

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

答案 1 :(得分:1)

两个问题:

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

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

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

  2. 您无需将keyup()链接到最后。不将参数传递给此方法会触发keyup事件,至少在此有限示例中,该事件不会执行任何操作。请在此处查看keyup()的jQuery API:http://api.jquery.com/keyup/。您在上一个.keyup()所做的事情属于第三类。

  3. 希望这有帮助!