作为一名前端开发人员,在团队中工作时,我发现自己多次解决了一个问题。例如,我们的大部分前端javascript代码都是使用jQuery和CSS选择器编写的(主要针对CSS“class”)。问题是,许多时候修复CSS代码的另一个开发人员会删除一个class或将DOM元素嵌套在另一个元素下面,从而使JS代码出现问题。
为了防止这种情况,我的想法是为每个要用于Javascript的元素使用/添加一个"data-js"属性。然而,我不确定像这样编写的jQuery选择器的性能如何:
为了防止这种情况,我的想法是为每个要用于Javascript的元素使用/添加一个"data-js"属性。然而,我不确定像这样编写的jQuery选择器的性能如何:
$('[data-js="my_js_selector"]').click();
我有另一个想法,就是给由JavaScript控制的DOM元素添加一个特定于JS的类:
<a href="lol.com" class="js-link">link</a>
然后只需使用$('.js-link').click()
简单调用即可。
如果您仅查看HTML,就可以知道某个元素具有一些附加的Javascript操作,而无需实际查看JS代码,这将非常方便。
这是一个好的想法吗?还是有其他最佳实践来将JS触发与CSS样式分离?
js-classname
这样的前缀类名,但这会对性能有所影响。 - Arun P Johny