让我们假设名称== foo
。如果我理解你的权利,你要比较你的CSS和JavaScript代码,并注意到这些标识符之间的相似性:
.textbox
.textbox-foo
.textbox_foo
所以,你想:foo
某种参数或pseudo-class与您的CSS中的.textbox
类相结合?这里有什么关系?
答:没有。textbox
,和textbox_foo
都是完全不同的HTML/CSS类名称。连字符和下划线作为CSS中标识符的一部分是完全有效的,因此这三个类与它们被命名为abc
,def
和ghi
不同。
所以没有变量传递给你的CSS。你是对的,CSS没有变量。你所看到的只是具有相似名称的不同类,但就浏览器而言,它们是不相关的。
虽然jQuery调用$(".textbox_" + name)
是JavaScript,而你可以在JavaScript中传递变量。使用jQuery,此代码会找到一个类名为textbox_foo
的HTML元素序列,其中foo
是您传递给textbox
函数的任何名称。它不会触及textbox
或类的元素,除非它们也具有textbox_foo
类。
jsFiddle Demo
至于JavaScript的textbox
功能,有没有办法告诉它做什么,没有看到它的其余部分。基于我见过的其他jQuery插件,我的猜测是,它根据您提供的name
参数来操作页面中新的或现有的文本框。它可能会向它们添加样式和行为,并在此过程中动态地添加类别为和/或textbox_foo
的HTML元素。类似的名字可能会帮助你理解生成的HTML源代码。
你有任何与之相对应的HTML吗?由于'_'和'-'属于类名称,这就是说有另一个div被称为'.textbox_test'或类似的东西 – ntgCleaner
'$(“。textbox-”name).text()'won不会编译,你需要一个'+'在那里。 –