Jquery常用的选择器有哪些?
1、基本选择器:#id 、element 、.class 、* 、selector1,selector2,selectorN
2、层次选择器:ancestor descendant 、parent > child 、prev + next 、prev ~ siblings
3、基本过滤器选择器:first 、:last 、:not 、:even 、:odd 、:eq 、:gt 、:lt 、:header 、:animated
4、内容过滤器选择器:contains 、:empty 、:has 、:parent
5、可见性过滤器选择器:hidden 、:visible
6、属性过滤器选择器[attribute] 、[attribute=value] 、[attribute!=value] 、[attribute^=value] 、[attribute$=value] 、[attribute*=value] 、[attrSel1][attrSel2][attrSelN]
7、子元素过滤器选择器:nth-child 、:first-child 、:last-child 、:only-child
8、表单选择器:input 、:text 、:password 、:radio 、:checkbox 、:submit 、:image 、:reset 、:button、:file 、:hidden9、表单过滤器选择器:enabled 、:disabled 、:checked 、:selected
为什么现代前端框架放弃了HTML的常规用法?
现在都是现在virtual dom中渲染完css和JS,渲染完,再从virtual dom一次映射到dom,这么做主要是为了加快渲染速度,缺点是耗费内存特别大。。
常规的HTML渲染是先加载HTML,然后再渲染css,渲染css过程中会有很多HTML特性变化,之后再渲染JS,就触发很多的HTML和css变化。这种模式,最大缺点是分三步走,大概是串行运行,花费时间较长,,另外很多元素渲染三遍才变成最终状态(大概这么理解)。。。
现代前端框架放弃了 HTML 的常规用法,是因为传统的 HTML 代码难以维护和扩展。这些框架采用了更高级的技术来实现更为灵活和强大的功能。例如,许多框架使用 JavaScript 来操作 HTML 和 CSS,从而使前端开发人员能够更快速地实现复杂的界面和交互。此外,这些框架还提供了丰富的组件库和工具,使前端开发人员能够更高效地开发和维护应用程序。
提问者是发现前端语言中出现了自定义标签或者模板语法吗?还是说vue类似的语法结构?
前者说到底就一个原因:浏览器的兼容性!特别是IE这个不知进取的货,前端技术被这货一直限制,直到win10的出现才得到改善,就连现在最低兼容也要考虑到ie9!
常规前端框架要负责渲染和ui效果,html标签无法满足现在ui层的渲染要求,不同浏览器下的展示结果也不同,最直观的就是表单元素:select、radio、checkbox、button等等。所以你会看见所有前端框架都必须要有一套自己的表单组件。
作为一款框架,目的就是用最简单的语法达到最好的展示结果,语法特别重要,所以我们会发现在框架中利用js做二次渲染是最好的选择,使用者只需一个属性就能达到特定效果。
比如我自研的框架中开关组件:<input type=swith text=开|关>,只需对应属性给值,其他的交给框架去渲染。
有的干脆直接给js函数传入对象参数:
xxx({
type : swith,
text : 开|关
})
而vue这种就属于渲染引擎,只负责渲染,不负责ui效果,没什么好说的。

