0

jQuery今天开始学习。我目前在第 24 期教程PHPachademy。我在让这个特定的教程正常工作时遇到了很多问题。我很确定这是一个语义错误 >_<;;

这是一个尝试 JSfiddles

最后有人可以向我解释为什么有这条线吗?

('" + search_name + "')

为什么有这么多+的和'"在行?

4

4 回答 4

4
$('#names li').removeClass('highlight');

代替

$(#names li).removeClass('highlight');

您引用 #names 变量而不是使用'#names li'字符串

固定小提琴

最后有人可以向我解释为什么有这条线吗?('" + search_name + "')

:contains选择器文档

描述:选择所有包含指定文本的元素。匹配的文本可以直接出现在所选元素中、该元素的任何后代中,或者它们的组合中。与属性值选择器一样, :contains() 括号内的文本可以写成裸词或用引号括起来。文本必须具有匹配的大小写才能被选中。

不带引号的小提琴

顺便说一句,既然你正在尝试学习 jQuery

关于 jQuery 的一个重要规则是,jQuery 不应该不能替代 javascript!它是 javascript 之上的一个抽象库。不要过度使用它,它this.value可以为您带来更轻松,更快速的输入价值$(this).val()

你可以在这里阅读更多

于 2012-05-03T07:28:07.290 回答
2

只需添加“

$("#names li")

http://jsfiddle.net/Hg72b/7/

于 2012-05-03T07:29:26.587 回答
2

在此处输入图像描述

于 2012-05-03T07:30:48.913 回答
0

在 dom jquery 中引用某些内容时,始终以以下形式解析字符串

$('somethingtosearchfor').doSomethingOnIt()

在您的情况下,您正在从 search_name 变量构建一个 jquery 行,因此您必须在由“分隔的字符串之间进行连接(+)。通过这种连接,您正在构建 jquery 语法以在 dom 和此语法中搜索必须是一个字符串,因此您可以将 ' 字符与您的搜索名称连接起来,结果与 gdoron 提及的语法相同

于 2012-05-03T07:33:17.177 回答