jQuery(反)模式:使用字符串操作构建选择器

时间:2009-10-14 16:35:54

标签: javascript jquery design-patterns anti-patterns

我常常发现自己构建了带字符串操作的选择器(split,search,replace,concat,+,join)。

好还是坏?

2 个答案:

答案 0 :(得分:1)

这有什么问题?有什么替代方案 - 只需将它们硬编码为单个字符串?但您可以在网站上使用约定来了解布局的组织方式。如果您只是在一个地方定义选择器组件,并使用它来构建一个选择器,那么这样的声音就不会比通过所有代码并在其出现的任何地方进行搜索替换那样麻烦。

我认为假设你有其他组织的字符串(在一个地方定义,在几个地方使用),这很好。

答案 1 :(得分:0)

这与您的问题有点无关,但是:

我建议的一点是对基于后代或儿童选择器保持谨慎(例如:'div.product> span.price')。通常,UI部件正在重新组织,移动或用其他东西包裹。当它发生时,基于后代的选择器会中断。

要记住的另一件事是基于属性的选择器(例如:'input [value =“Login”]')在处理本地化内容时通常很脆弱(如果属性值已本地化) )。