asp.net 删除Dom元素的Id属性的最佳实践

sgtfey8w  于 12个月前  发布在  .NET
关注(0)|答案(6)|浏览(121)

这与DOM元素的id属性和name属性的命名约定有关。当涉及到JavaScript时,从我的理解和所做的工作来看,除了类的名称之外,总是使用 Camel 大小写。类是Pascal大小写。
在ASP.NET中,如果你将一个新的服务器控件拖放到一个页面上(我很少这样做,我是一个喜欢输入标记的人),默认的名称总是Pascal大小写,因为它们需要符合.NET框架的服务器端代码命名指南。
因此,当涉及到命名ASP.NET服务器控件的id属性或标记中的元素时,我遵循了id属性大小写的规则(JavaScript命名准则),但这与.NET命名准则相冲突。
那么,第一,你们通常对DOM元素中的id属性使用什么样的大小写?第二,在ASP.NET中开发的.NET人员对id属性的命名是怎么做的?
最重要的是,当我在标记中创建表单元素时,我通常使用匈牙利符号来进行文本输入,如

<input type="text" id="txtUserName" />

字符串
或复选框,如

<input type="checkbox" id="chkSelectAll" />


这肯定违反了.NET服务器端代码命名指南,可能也违反了JavaScript指南。
任何建议都非常感谢。

kupeojn6

kupeojn61#

  • 保持语义性。使用完整、简单(最好是英语)的单词。不要试图想出一些花哨或技术性的东西,也不要描述它是什么--我们知道。描述它的用途。描述目的会增加信息价值。
  • 别乱说话!BW_RCB01_SW对几年前做CSS的团队来说很有意义,但现在对我来说没有任何意义,我不得不向后工作,试图翻译BW_RCB01_SW对应于我的目的,或者记住翻译或将其记录在某个地方。更好?blackwhite-boxtype1-bottomleft。它更长,但也不需要Rosetta Stone。
  • 保持小写,使用下划线或连字符。我更喜欢连字符,但这完全是一个偏好。使用连字符应该没有障碍,因为它们在CSS或HTML中不被保留,并且ID在所有其他语言中都被视为文字字符串。太多的时间浪费在想为什么这种风格不适用。pageContainerLeftpageContainerleft不一样。
  • 只需要 * 准确地 * 确定这个元素是什么,但仅此而已。认真考虑你在名称中嵌入的每一条信息,以及它是否必要。在你的例子中-你 * 需要 * 知道它是ID的复选框吗?不太可能。你已经知道你引用的元素是什么,因为它是一个唯一的ID,而且你无论如何都必须针对该元素编写代码。
bvuwiixz

bvuwiixz2#

尽可能少的引用对象肯定有助于保持整洁。如果你能通过命名父对象并只引用子对象来获得,那会更好(在我看来)。你会得到在每个页面上呈现给客户端的html稍微少一点的好处。
因为当我必须给元素命名时,我更喜欢所有的下划线符号。我以前在CSS文件中没有正确处理我的情况,所以如果我能尽早将其视为一个问题,那就放心了。
下划线是字符,而破折号可以被解释为减号,所以这是另一个潜在的问题-只坚持使用下划线是有意义的。例如,Flex不接受带有以破折号命名的属性的XML(我知道这些是值而不是属性;但仍然是一个安全的选择)。
我同意上面的观点--没有元素类型或定位或颜色作为class/id。匈牙利符号== bad。对于确定什么是ID非常有用。我喜欢以特定于对象的方式命名表单字段-user_login, user_email, user_address_state_id, user_address_country_id等,可能都会显示在用户注册表单上。通常非表单字段的长度不足以下划线,否则您可能可以重命名它们。

4xrmg8kj

4xrmg8kj3#

我上一份工作中的一位HTML大师实际上建议用破折号分隔多字ID

<input type="text" id="user-name" />

字符串
我很难想起来为什么--我再也不能访问那些内部标准文档了。我知道这并不能回答你关于Pascal和Camel shell 的问题。
我个人建议不要使用HN -我发现这是一个很大程度上令人憎恶的做法。如果你需要将复选框数组改为选择元素,会发生什么?现在元素的ID具有错误的语义。这不值得麻烦,IMO。

rsaldnfx

rsaldnfx4#

信不信由你,但我在使用某些JavaScript库时遇到过用连字符作为id和css类名的问题。这是非常罕见的,但你显然想避免这样的事情。因此,我使用 Camel 大小写或下划线。你也可以使用下划线。
否则,一般的规则是有意义的名字,容易阅读和理解。当涉及到“控件”,请确保您遵循某种命名约定。就个人而言,我更喜欢后缀前缀(即nameText而不是textName),但我尽量避免后缀,因为我觉得它们太冗长了。
所以:1。有意义的名字。2。避免后缀/前缀。3。避免缩写(即。地址而不是地址)。4。慢慢来。

u3r8eeie

u3r8eeie5#

根据mozilla(dom的最佳源代码),最好的做法是使用字母字符和连字符(如果有多个单词)。
尽管让你的ID具有一定程度的人类可读性对于代码理解是有用的,例如考虑“ticket-18659”与“r45 tgfe-freds &$@”
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/id

gorkyyrv

gorkyyrv6#

下面是一些命名准则,它们帮助我在DOM中使用id和类:

  • 不要在名字中包含类型(即,没有txt或chk)。我可以使用CSS或jQuery更有效地选择信息
  • 在名称中使用下划线作为分隔符。连字符在其他语言中并不总是有效,并且在标记中使用 Camel 大小写有点坚韧阅读

相关问题