Asp.net 添加一个没有';不存在?

Asp.net 添加一个没有';不存在?,asp.net,css,jquery-selectors,Asp.net,Css,Jquery Selectors,我想在一些文本字段中添加一些类,这样我就可以用jquery获得它们的值。这似乎是使用jQuery时的标准做法,并建议将其作为答案,但这如何影响页面加载?它会不会试图找到所有这些类?过去我被告知尽量减少控件上使用的类的数量 我有大约12个控件,我想添加唯一的类来获取它们的值。我正在使用asp.net,因此无法使用id。我也无法使用ClientID,因为控件位于表中(但每次仅显示一组控件) e、 g ... var value1=$('.value1').val(); var value2=$('

我想在一些文本字段中添加一些类,这样我就可以用jquery获得它们的值。这似乎是使用jQuery时的标准做法,并建议将其作为答案,但这如何影响页面加载?它会不会试图找到所有这些类?过去我被告知尽量减少控件上使用的类的数量

我有大约12个控件,我想添加唯一的类来获取它们的值。我正在使用asp.net,因此无法使用id。我也无法使用ClientID,因为控件位于表中(但每次仅显示一组控件)

e、 g


...
var value1=$('.value1').val();
var value2=$('.value2').val();
var value3=$('.value3').val();
css中不存在任何类名

谢谢

编辑:


我知道这是可行的,但我更好奇的是它对页面加载的影响。有一个答案(现在似乎被删除了)说html解析器会忽略这些类。css解析器将只查看已定义的类。所以这听起来像是完全被忽略了,对页面加载没有影响。这是正确的吗?

使用不存在的CSS类是可以的,但是如果它们是唯一的,那么您希望使用
id
,而不是
class
我认为这不是问题。我唯一一次遇到不存在的类或ID的问题是有一次我有一个不存在的onclick引用。这把事情搞砸了……除此之外,我认为类是无害的。不过我很想知道


还有其他想法吗

您使用的是哪个版本的asp.net?在asp.net 4.0中,您可以使用非混合ID。看起来最简单的解决方案是将clientmode=“Static”设置为所有文本框,然后按id引用。否则,当然,我创建了不存在的类来引用东西。。。。一直如此

编辑:(回应您对页面加载效果的评论)


我认为你关于在一个div中增加当前未使用的类的问题是一个不错的问题(至少在理论意义上是这样),老实说,我不知道确切的答案。我相信任何影响都是微不足道的。如果您考虑编写HTML的最佳实践,那么在编写CSS之前,通常要用HTML编写和构造HTML类。这意味着在编写CSS时,肯定不会使用某些类。事实上,在设计基本标记(
body
h1
a
等)的样式之后,您可能会发现,对于某些特定的设计,您永远不需要使用这些类创建选择器。但是在下一个设计中,您可能需要这些类。我很确定CSS背后的技术是基于这些场景构建的,我敢打赌互联网上数百万甚至数十亿的页面都遵循这种场景,特别是如果他们使用,它将类添加到页面的html元素中,作为一种向您提供类的方式,您可以根据当前浏览器的可能功能进行选择。您可能永远都不需要这些类,但是如果您需要它们,它们就在那里。

您说您正在使用ASP.Net,所以您不能使用ID参数,但您可以。在JQuery中,您可以使用下面的

var value1 = $('[ID$=yourID]').val();
有关JQuery选择器的更多信息,请查看:和


上面的选择器基本上会找到以“yourID”结尾的id,因此会忽略所有母版页开头的额外文本。你只需要确保这些是独一无二的。e、 g.没有像“HSBC”和“SBC”这样的ID,因为“SBC”上的上述选择器将同时找到这两个ID。

你好,Logan,我不能使用ID,因为它将转换为ctl00\u ctl00\u ContentPlaceHolder\u txtValue1之类的内容。这是在现有代码中使用的,我现在正在处理它,因为布局改变了,id也改变了。我现在必须查找所有损坏的javascript。你可以使用id,应该。。。请参阅下面我关于如何在JQuery和asp.netI中使用它的答案。我尝试了这个方法,但最终id是“I”。我会说这是因为它在桌子上。我在上面的评论中所说的并不完全正确。实际上是ctl00\u ctl00\u内容占位符\u efX\u txtValue1,其中X是行号。我认为编辑不对。正如我所能说的,它将在CSS中搜索类名,而不是找到它然后继续。我想说这会增加页面负载,但这是可以忽略不计的。尽管添加类似乎很好,但这似乎是解决我当前问题的一个更优雅的解决方案。谢谢
var value1 = $('[ID$=yourID]').val();